当前位置: 首页>后端>正文

webpack介绍

webpack

介绍:

webpack 是一个用于现代 JavaScript 应用程序的 静态模块打包工具。

wepack可以打包压缩所有文件格式

webpack可以在入口对文件直接进行打包压缩 为静态资源文件

核心:

entry 入口

output 出口

loader

loader 用于对模块的源代码进行转换

plugin 插件

如果想要使用webpack打包压缩特定资源文件 我们需要配置一个文件 名字webpack.config.js文件

所有核心都是在这个文件中完成的

使用流程:

1 安装

npm install webpack webpack-cli --save-dev

2 创建webpack.config.js文件 在文件中粘贴代码

const path = require('path');

module.exports = {

entry: '相对路径.js', ?// 打包文件的入口

output: { ? ? ? ? ? ? ? ? // 输出打包后文件的路径

filename: '打包后的文件名.js',

path: path.resolve(__dirname, '打包后的文件路径'),

},

};

3 配置package.json文件

"build": "webpack"

4 执行打包 需要运行npm run build

打包js文件

1 打包js单文件

entry: '相对路径.js',

2 打包js多文件

entry: {

自定义属性名1: '路径1',

自定义属性名2: '路径2'

....

}

? ? ? ? ? ? ? ? ? ? filename: '[name].js', ? // name指的是自定义属性名

打包css/sass/less文件

1 需要安装loader

css:

css-loader style-loader

sass:

sass-loader css-loader ?style-loader

less:

less less-loader css-loader style-loader

2 在module里边配置匹配规则:

rules: [

{

test: /\.css$/i,

use: ["style-loader","css-loader"] ? // use数组中的配置项 需要按照从右到左的顺序执行

},

{

test: /\.less$/i,

use: ["style-loader","css-loader","less-loader"] ? // use数组中的配置项 需要按照从右到左的顺序执行

},

{

test: /\.scss|.sass$/i,

use: ["style-loader","css-loader","sass-loader"] ? // use数组中的配置项 需要按照从右到左的顺序执行

}

]

3 打包图片文件(png/jpg/jpeg/webp/gif)

1 webpack 5.x

我们可以直接对图片资源文件进行打包处理 而不需要安装相关loader

因为webpack 5.x已经在内部自动集成了相关的loader 例如url-loader file-loader

2 webpack 4.x

1 安装file-loader

npm i file-loader --save-dev

2 需要配置

rules: [

{

test: /\.(png|jpe?g|gif)$/i,

use: [

{

loader: 'file-loader',

},

],

},

]

4 打包html页面

1 安装

npm i --save-dev html-webpack-plugin

2 配置

const HtmlWebpackPlugin = require('html-webpack-plugin')

plugins: [

new HtmlWebpackPlugin({

title: '标题',

filename: '生成后的文件名',

template: '被打包文件模板',

inject: "插入的位置", ?// true false head body

// chunks: ['a','b'], ? // 允许引入的模块

excludeChunks: ['b'] ? ?// 不允许引入的模块

})

...

]

5 对js中打包的css文件 进行单独的打包引入

1 安装

npm install --save-dev mini-css-extract-plugin

2 配置

const MiniCssExtractPlugin = require("mini-css-extract-plugin");

将正则匹配中style-loader全部替换为MiniCssExtractPlugin.loader

{

test: /\.css$/i,

use: [MiniCssExtractPlugin.loader, "css-loader"],

}

3 在plugin中编写new MiniCssExtractPlugin

new MiniCssExtractPlugin{

filename: "要生成的文件名字" // '[name].css' ? name值得是entry入口中js自定义的属性名

}

6 打包视频音频

1 安装

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

2 配置

new CopyPlugin({

patterns: [

{ from: "你要复制的文件夹路径", to: "要生成的文件夹路径" }

]

}),


https://www.xamrdz.com/backend/3fh1942744.html

相关文章: