summaryrefslogtreecommitdiff
path: root/webpack.production.js
diff options
context:
space:
mode:
authorYukai Huang2016-10-12 17:15:59 +0800
committerYukai Huang2016-10-12 17:15:59 +0800
commit2cafe15e854b493d335652755b74674c7e2da4f6 (patch)
tree02925d33a08d7be576ab2efe42e189f301906755 /webpack.production.js
parent91266f1cad25c5f19f332134dd82011f01ce7419 (diff)
Enable production assets hash
Diffstat (limited to 'webpack.production.js')
-rw-r--r--webpack.production.js58
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'
+ },
});