我第一次尝试使用Webpack。之前我用过Gulp和Browserify很长时间,并且对它们非常熟悉。现在,我只是在测试几个Webpack插件,具体来说是compression-webpack-plugin。我以前从未使用过压缩,如果我犯了任何新手错误,请见谅。
下面是我的webpack.config.js文件。运行结果是我得到了一个main.js、main.js.gz、main.css和index.html。main.js被注入到index.html中,但是如果我在浏览器中打开index.html,它会提供未经压缩的main.js,而不是已经压缩的main.js.gz。我读到过不需要在脚本标签中包含.gz扩展名,并且html-webpack-plugin没有包括它,所以我认为一切都正常工作了,但是还是提供了未经压缩的main.js,而不是压缩后的。
var path = require('path');
var ExtractTextPlugin = require('extract-text-webpack-plugin');
var HtmlWebpackPlugin = require('html-webpack-plugin');
var CompressionPlugin = require('compression-webpack-plugin');
module.exports = {
entry: './app/scripts/main.js',
output: {
path: path.join(__dirname, 'public'),
filename: '[name].js',
chunkFilename: '[id].js'
},
module: {
loaders: [
{test: /\.scss$/, exclude: /node_modules/, loader: ExtractTextPlugin.extract('style-loader', 'css-loader!sass-loader')},
{test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader'}
]
},
plugins: [
new HtmlWebpackPlugin({
hash: true,
template: 'app/index.html',
inject: 'body'
}),
new ExtractTextPlugin('[name].css'),
new CompressionPlugin()
]
};