summaryrefslogtreecommitdiff
path: root/webpack.production.js
diff options
context:
space:
mode:
Diffstat (limited to 'webpack.production.js')
-rw-r--r--webpack.production.js111
1 files changed, 38 insertions, 73 deletions
diff --git a/webpack.production.js b/webpack.production.js
index 82e52d17..13aad6bd 100644
--- a/webpack.production.js
+++ b/webpack.production.js
@@ -1,77 +1,11 @@
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');
+var ExtractTextPlugin = require("extract-text-webpack-plugin");
+var OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin');
-module.exports = Object.assign({}, baseConfig, {
- plugins: [
- new webpack.ProvidePlugin({
- Visibility: "visibilityjs",
- Cookies: "js-cookie",
- key: "keymaster",
- $: "jquery",
- jQuery: "jquery",
- "window.jQuery": "jquery",
- "moment": "moment",
- "Handlebars": "handlebars"
- }),
- new ExtractTextPlugin("[name].css"),
- new webpack.optimize.CommonsChunkPlugin({
- names: ["cover", "index", "pretty", "slide", "vendor"],
- children: true,
- async: true,
- 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', 'cover'],
- filename: path.join(__dirname, 'public/views/build/cover-header.ejs'),
- inject: false
- }),
- new HtmlWebpackPlugin({
- template: 'public/views/includes/scripts.ejs',
- chunks: ['vendor', 'cover'],
- filename: path.join(__dirname, 'public/views/build/cover-scripts.ejs'),
- inject: false
- }),
- new HtmlWebpackPlugin({
- template: 'public/views/includes/header.ejs',
- chunks: ['vendor', 'pretty'],
- filename: path.join(__dirname, 'public/views/build/pretty-header.ejs'),
- inject: false
- }),
- new HtmlWebpackPlugin({
- template: 'public/views/includes/scripts.ejs',
- chunks: ['vendor', 'pretty'],
- 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
- }),
+module.exports = [Object.assign({}, baseConfig, {
+ plugins: baseConfig.plugins.concat([
new webpack.DefinePlugin({
'process.env': {
'NODE_ENV': JSON.stringify('production')
@@ -83,12 +17,43 @@ module.exports = Object.assign({}, baseConfig, {
},
mangle: false,
sourceMap: false
- })
- ],
+ }),
+ new ExtractTextPlugin("[name].[hash].css")
+ ]),
output: {
path: path.join(__dirname, 'public/build'),
publicPath: '/build/',
filename: '[id].[name].[hash].js'
+ }
+}), {
+ entry: {
+ htmlExport: path.join(__dirname, 'public/js/htmlExport.js')
+ },
+ module: {
+ loaders: [{
+ test: /\.css$/,
+ loader: ExtractTextPlugin.extract('style-loader', 'css-loader')
+ }, {
+ test: /\.scss$/,
+ loader: ExtractTextPlugin.extract('style-loader', 'sass-loader')
+ }, {
+ test: /\.less$/,
+ loader: ExtractTextPlugin.extract('style-loader', 'less-loader')
+ }]
+ },
+ output: {
+ path: path.join(__dirname, 'public/build'),
+ publicPath: '/build/',
+ filename: '[name].js'
},
-});
+ plugins: [
+ new webpack.DefinePlugin({
+ 'process.env': {
+ 'NODE_ENV': JSON.stringify('production')
+ }
+ }),
+ new ExtractTextPlugin("html.min.css"),
+ new OptimizeCssAssetsPlugin()
+ ]
+}];