Webpack中文:
plugin | webpack 中文文档
在之前在npm run build编译后就会生成一个dist的文件夹,但是我们发现里面并没有index.html的文件,还得我们手动创建一个index.html的文件夹,利用plugins就可以自动实现创建这个过程。
:::info
一般src文件夹的代码称「源代码」,Webpack打包src后的代码为dist「产出」的代码,可以直接运行在浏览器中。
:::
那什么是plugins?
:::info
**plugin**可以在**Webpack**运行到某个时刻的时候,帮你做一些事情。
:::
html-webpack-plugin
HtmlWebpackPlugin | webpack 中文文档html-webpack-plugin 会在打包结束后会自动生成一个html文件,并把打包生成的js文件自动引入到这个html文件中。
安装:
$ npm install html-webpack-plugin -D
配置:
// 引用node下的模块const path = require("path")// 引用插件const HtmlWebpackPlugin = require("html-webpack-plugin");module.exports = {entry: "./src/index.js",output: {path: path.resolve(__dirname, "dist")},// loader(当你打包一个模块的时候就到这里查询相应的规则)module: {rules: [{test: /\.jpg$/,use: {loader: "url-loader",options: {limit: 2048}}}, {test: /\.scss$/,use: ["style-loader",{loader: "css-loader",options: {importLoaders: 2,modules: true}},"sass-loader","postcss-loader"]}]},// 配置插件plugins: [new HtmlWebpackPlugin({// 指定一个html文件为 HtmlWebpackPlugin 生成 html 文件的模板template: "./src/index.html"})]}
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Document</title></head><body><div id="app">这是DIV元素</div></body></html>
在我们编译后生成的dist文件夹中就会有index.html的文件,且这个文件内自动使用了我们模版index里面的内容也自动加载了打包后的JS文件。
clean-webpack-plugin
这是一个非官方的plugin。clean-webpack-plugin会在打包前将dist目录中的文件全部删除,这样可以防止存在冗余的文件。
安装:
$ npm install clean-webpack-plugin -D
配置:
// 引用插件const HtmlWebpackPlugin = require("html-webpack-plugin")const { CleanWebpackPlugin } = require('clean-webpack-plugin');module.exports = {// ...plugins: [// 进行实例化new HtmlWebpackPlugin({template: "./src/index.html"}),new CleanWebpackPlugin()]}
