diff options
author | Yukai Huang | 2016-10-12 17:15:59 +0800 |
---|---|---|
committer | Yukai Huang | 2016-10-12 17:15:59 +0800 |
commit | 2cafe15e854b493d335652755b74674c7e2da4f6 (patch) | |
tree | 02925d33a08d7be576ab2efe42e189f301906755 /webpack.production.js | |
parent | 91266f1cad25c5f19f332134dd82011f01ce7419 (diff) |
Enable production assets hash
Diffstat (limited to 'webpack.production.js')
-rw-r--r-- | webpack.production.js | 58 |
1 files changed, 57 insertions, 1 deletions
diff --git a/webpack.production.js b/webpack.production.js index ce8dd27e..173ca0cd 100644 --- a/webpack.production.js +++ b/webpack.production.js @@ -1,6 +1,8 @@ var baseConfig = require('./webpackBaseConfig'); var webpack = require('webpack'); var ExtractTextPlugin = require("extract-text-webpack-plugin"); +var path = require('path'); +var HtmlWebpackPlugin = require('html-webpack-plugin'); module.exports = Object.assign({}, baseConfig, { plugins: [ @@ -19,6 +21,54 @@ module.exports = Object.assign({}, baseConfig, { filename: '[name].js', minChunks: Infinity }), + new HtmlWebpackPlugin({ + template: 'public/views/includes/header.ejs', + chunks: ['vendor', 'index'], + filename: path.join(__dirname, 'public/views/build/index-header.ejs'), + inject: false + }), + new HtmlWebpackPlugin({ + template: 'public/views/includes/scripts.ejs', + chunks: ['vendor', 'index'], + filename: path.join(__dirname, 'public/views/build/index-scripts.ejs'), + inject: false + }), + new HtmlWebpackPlugin({ + template: 'public/views/includes/header.ejs', + chunks: ['vendor', 'locale'], + filename: path.join(__dirname, 'public/views/build/cover-header.ejs'), + inject: false + }), + new HtmlWebpackPlugin({ + template: 'public/views/includes/scripts.ejs', + chunks: ['vendor', 'locale'], + filename: path.join(__dirname, 'public/views/build/cover-scripts.ejs'), + inject: false + }), + new HtmlWebpackPlugin({ + template: 'public/views/includes/header.ejs', + chunks: ['vendor', 'public'], + filename: path.join(__dirname, 'public/views/build/pretty-header.ejs'), + inject: false + }), + new HtmlWebpackPlugin({ + template: 'public/views/includes/scripts.ejs', + chunks: ['vendor', 'public'], + filename: path.join(__dirname, 'public/views/build/pretty-scripts.ejs'), + inject: false + }), + new HtmlWebpackPlugin({ + template: 'public/views/includes/header.ejs', + chunks: ['vendor', 'slide'], + filename: path.join(__dirname, 'public/views/build/slide-header.ejs'), + inject: false + }), + new HtmlWebpackPlugin({ + template: 'public/views/includes/scripts.ejs', + chunks: ['vendor', 'slide'], + filename: path.join(__dirname, 'public/views/build/slide-scripts.ejs'), + inject: false + }), new webpack.DefinePlugin({ 'process.env': { 'NODE_ENV': JSON.stringify('production') @@ -30,5 +80,11 @@ module.exports = Object.assign({}, baseConfig, { }, sourceMap: false }) - ] + ], + + output: { + path: path.join(__dirname, 'public/build'), + publicPath: '/build/', + filename: '[id].[name].[hash].js' + }, }); |