使用plugin

2017-05-11  本文已影响0人  珍珠林

plugin是另一个扩展webpack能力的方式,plugin的功能范围更广。plugin的存在可以看成是为了实现那些loader实现不了或不合适在loader中实现的功能。如自动生成项目HTML页面(HtmlWebpackPlugin)、向构建过程注入环境变量(EnvironmentPlugin)、向块(chunk)的结果文件中添加注释信息(BannerPlugin)等。
  webpack内置了一些常用的plugin,如EnvironmentPlugin及BannerPlulgin,更多第三方的plugin可以通过安装npm包的形式引入,如HtmlWebpackPlugin对应的npm包是html-webpack-plugin。


HtmlWebpackPlugin会自动生成一个几乎为空的HTML页面,并向其中注入构建的结果文件路径,即使路径中包含动态内容,如MD5戳,也能够完美处理。

var webpack = require('webpack');
webpack.BannerPlugin;  //这样就可以直接获取BannerPlugin

HtmlWebpackPlulgin并非内置plugin,需要先安装:

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

完了后,在webpack.config.js中就可以获取这个插件了:

var HtmlWebpackPlugin = require('html-webpack-plugin');
var path = require('path');
var HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
    entry: path.join(__dirname, 'index'),
    output: {
        path: __dirname,
        filename: 'bundle.js'
    },
    module: {
        loaders: [
            {
                test: /\.css$/,
                loaders: ['style', 'css']
            }
        ]
    },
    plugins: [  // 配置plugin
        new HtmlWebpackPlugin({
            title: 'use plugin'
        })
    ]
};

我们创造了一个HtmlWebpackPlugin实例,传入了{title: 'use plugin'},告诉HtmlWebpackPlugin给生成的HTML页面设置<title>内容为use plugin。
原来的index.html可以删除了。构建完成后,插件会自动生成index.html。

上一篇下一篇

猜你喜欢

热点阅读