JavaScript webpack5配置及使用基本介绍

yizhihongxing

下面我来详细讲解一下“JavaScript webpack5配置及使用基本介绍”的攻略。

1. 简介

Webpack是一个打包工具,它通过分析模块之间的依赖关系,将多个模块打包成一个或多个bundle文件,常用于前端项目的构建过程中。Webpack5是Webpack的最新版本,新增了很多功能和优化。

2. 安装和基本使用

先来安装Webpack和Webpack CLI:

npm install webpack webpack-cli -g

在项目中安装:

npm install webpack webpack-cli --save-dev

然后创建一个简单的JavaScript项目:

mkdir my-app
cd my-app
npm init -y
touch index.js

index.js文件中输入以下内容:

console.log('Hello World!');

在项目根目录下创建一个webpack.config.js文件:

touch webpack.config.js

webpack.config.js中定义入口文件和输出文件:

const path = require('path');
module.exports = {
  entry: './index.js',
  output: {
    filename: 'bundle.js',
    path: path.resolve(__dirname, 'dist'),
  },
};

打包项目:

webpack --config webpack.config.js

运行index.html文件,引入bundle.js文件,控制台将输出Hello World!

3. 资源打包和加载器

Webpack可以打包多种类型的文件,例如CSS、图片、字体等。使用不同的加载器来解析这些文件。
安装css-loaderstyle-loader

npm install css-loader style-loader --save-dev

修改webpack.config.js文件,添加加载器:

module.exports = {
  entry: './index.js',
  output: {
    filename: 'bundle.js',
    path: path.resolve(__dirname, 'dist'),
  },
  module: {
    rules: [
      {
        test: /\.css$/,
        use: ['style-loader', 'css-loader'],
      },
    ],
  },
};

index.js文件中添加CSS:

import './style.css';
console.log('Hello World!');

在根目录新建style.css文件:

body {
  background-color: blue;
}

打包项目:

webpack --config webpack.config.js

运行index.html文件,页面的背景色变成了蓝色。

4. 插件

Webpack插件用于增强Webpack的功能,例如压缩、合并等。常用的插件有UglifyJS和CopyWebpackPlugin。
安装uglifyjs-webpack-plugincopy-webpack-plugin

npm install uglifyjs-webpack-plugin copy-webpack-plugin --save-dev

修改webpack.config.js文件,添加插件:

const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
const CopyWebpackPlugin = require('copy-webpack-plugin');

module.exports = {
  entry: './index.js',
  output: {
    filename: 'bundle.js',
    path: path.resolve(__dirname, 'dist'),
  },
  module: {
    rules: [
      {
        test: /\.css$/,
        use: ['style-loader', 'css-loader'],
      },
    ],
  },
  plugins: [
    new UglifyJsPlugin(),
    new CopyWebpackPlugin({
      patterns: [
        { from: 'public', to: 'public' },
      ],
    }),
  ],
};

UglifyJsPlugin用于压缩JS代码,CopyWebpackPlugin用于复制文件夹。
在根目录下创建一个public文件夹,并在其中新建一个test.txt文件。
打包项目:

webpack --config webpack.config.js

运行index.html文件,控制台将输出Hello World!public/test.txt文件也被复制到了dist/public/test.txt

以上就是JavaScript webpack5配置及使用的基本介绍,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript webpack5配置及使用基本介绍 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • 详解JS数组Reduce()方法详解及高级技巧

    详解JS数组Reduce()方法详解及高级技巧 前言 在 JavaScript 的世界里,数组(Array)是最常使用的数据结构之一。而 Array.prototype.reduce() 方法则是 JavaScript 数组中最为强大的方法之一,它可以用于快速解决众多复杂问题。在本篇文章中,我们将详细讲解 reduce() 方法的使用方式及其高级技巧。 re…

    JavaScript 2023年5月27日
    00
  • JS中的Map、Set、WeakMap和WeakSet

    在JavaScript中,Map、Set、WeakMap和WeakSet是四个不同的数据结构,它们都有不同的特点和用途: 1. Map :Map是一种键值对的集合,其中的键和值可以是任意类型的。与对象类似,它们可以通过键来访问值。不同之处在于,Map可以使用任意类型作为键,而对象只能使用字符串或Symbol类型作为键。Map还提供了许多有用的方法,例如siz…

    JavaScript 2023年4月27日
    00
  • 理解 JavaScript EventEmitter

    理解 JavaScript EventEmitter EventEmitter 是 Node.js 的核心模块之一,不过它也可以在浏览器中使用。通过 EventEmitter,我们可以简单而有效地实现各种事件模型,如事件监听、事件触发等;在 Web 开发中,EventEmitter 常用于实现自定义事件机制。 什么是 EventEmitter? EventE…

    JavaScript 2023年5月28日
    00
  • 浅析JavaScript中的变量复制、参数传递和作用域链

    浅析JavaScript中的变量复制、参数传递和作用域链 在JavaScript中,变量复制、参数传递和作用域链是非常重要的概念。正确理解它们有助于我们更好地编写JavaScript代码。下面将针对这三个方面进行详细讲解。 变量复制 在JavaScript中,变量赋值是通过复制变量的值实现的。当一个变量被赋值给另一个变量时,实际上是将变量的值复制给另一个变量…

    JavaScript 2023年6月11日
    00
  • 一文带你理解JavaScript中的函数式编程

    “一文带你理解JavaScript中的函数式编程”的完整攻略 什么是函数式编程? 函数式编程是一种编程范式,它将计算机程序看作一系列数学函数的组合,避免使用共享状态和可变数据,通过数据不可变和函数无副作用的特性实现函数的组合和复用。JavaScript原生支持函数式编程,在近年来的JavaScript开发中也越来越普遍。 函数式编程的特点 函数是一等公民:函…

    JavaScript 2023年5月27日
    00
  • js实现发送验证码后的倒计时功能

    下面是一个完整的JavaScript实现发送验证码后的倒计时功能攻略,分以下几个步骤: 1. 准备工作 首先,在你的HTML代码中添加一个按钮和一个用于显示时间的容器,如下面的代码所示: <button id="send-btn">发送验证码</button> <span id="countdown…

    JavaScript 2023年6月10日
    00
  • js禁止页面刷新与后退的方法

    下面是“js禁止页面刷新与后退的方法”的完整攻略。 1. 禁止页面刷新的方法 1.1 使用onbeforeunload事件 onbeforeunload事件是在页面即将卸载前触发的事件,可以用来在用户离开当前页面之前做一些操作,比如弹出确认框,阻止页面刷新等等。 通过监听onbeforeunload事件,并在事件处理函数中返回一个字符串,可以让浏览器弹出一个…

    JavaScript 2023年6月11日
    00
  • thinkphp3.x中cookie方法的用法分析

    ThinkPHP3.x中cookie方法的用法分析 什么是Cookie Cookie(又称为 HTTP cookie 或者 Web cookie)是指在访问网站时,由网站服务器发送给浏览器的一小段数据,然后浏览器将数据保存在本地硬盘上,每次访问该网站时将数据发送给网站服务器。Cookie 目的在于记录站点统计信息、用户习惯、购物车内容或者保存用户账号密码等。…

    JavaScript 2023年6月1日
    00
合作推广
合作推广
分享本页
返回顶部