20170622-webpack之plugin篇

extract-text-webpack-plugin

extract-text-webpack-plugin重要是为了抽离css款式,并将款式打包成css文件

const ExtractTextPlugin = require('extract-text-webpack-plugin');
...
module: {
    rules: [
        {
            test: /\.less$/,
            use: ExtractTextPlugin.extract({
                use: ['css-loader','less-loader'],
                fallback: 'style-loader'
            })
        },
        {
            test: /\.css$/,
            use: ExtractTextPlugin.extract({
                use: ['css-loader'],
                fallback: 'style-loader'
            })
        }
    ]
},
plugins: [
    new ExtractTextPlugin('bundle/css/[name].css')
]

open-browser-webpack-plugin

当启动webpack时,会使浏览器翻开指定页面

var OpenBrowserPlugin = require('open-browser-webpack-plugin');

plugins: [
    new OpenBrowserPlugin({ url: 'http://localhost:8080' })
]

html-webpack-plugin

这个插件的作用是根据一个简朴的模板,帮你天生终究的html文件,这个文件中自动引用了打包后的js文件。

webpack.ProvidePlugin

假如项目中须要运用jQuery相似的东西,岂非须要在每个文件中都到场require('jquery')吗?运用webpack.ProvidePlugin,可以使jquery变成全局变量,如许在项目的任何地方都可以直接运用

new webpack.ProvidePlugin({
    $: 'jquery',
    jquery: 'jquery'
})

webpack.BannerPlugin

这个插件的作用是给输出文件增加解释头。

运用方法

new webpack.BannerPlugin("Copyright by yanxin")

如许在打包天生的文件中都邑包括上面的版权信息

webpack.optimize.UglifyJsPlugin

用于代码的紧缩

new webpack.optimize.UglifyJsPlugin({
    compress: {
        warnings: false
    }
})

webpack.HotModuleReplacementPlugin

该插件许可你在修正组件代码后,自动革新及时预览修正后的结果。

webpack.optimize.OccurenceOrderPlugin

该插件的作用是为组件分派id,经由过程这个插件webpack会剖析运用频次最多的模块,并未他们分派最小的id,id越小示意模块被找到的速率会更快

运用方法:

new webpack.optimize.OccurenceOrderPlugin()

webpack.optimize.CommonsChunkPlugin

用于抽取大众的模块

    原文作者:jhhfft
    原文地址: https://segmentfault.com/a/1190000009888350
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞