File tree Expand file tree Collapse file tree 9 files changed +99
-118
lines changed Expand file tree Collapse file tree 9 files changed +99
-118
lines changed Original file line number Diff line number Diff line change
1
+ # Webpack Docs
2
+ ## ` webpack.common.js `
3
+ This file contains all common definition for chunks and plugins, that are needed by the whole app.
4
+
5
+ ** TODO:** Document which entry points are used for what.
6
+
7
+ ## ` webpack.htmlexport.js `
8
+ Separate config for the "save as html" feature.
9
+ Packs all CSS from ` public/js/htmlExport.js ` to ` build/html.min.css ` .
10
+ This file is then downloaded by client-side JS and used to create the HTML.
11
+ See ` exportToHTML() ` in ` public/js/extra.js ` .
12
+
13
+
14
+ ## ` webpack.dev.js `
15
+ The development config uses both common configs, enables development mode and enables "cheap" source maps (lines only).
16
+ If you need more detailed source maps while developing, you might want to use the ` source-maps ` option.
17
+ See https://webpack.js.org/configuration/devtool/ for details.
18
+
19
+ ## ` webpack.prod.js `
20
+ The production config uses both common configs and enables production mode.
21
+ This automatically enables various optimizations (e.g. UglifyJS). See https://webpack.js.org/concepts/mode/ for details.
22
+
23
+ For the global app config, the name of the emitted chunks is changed to include the content hash.
24
+ See https://webpack.js.org/guides/caching/ on why this is a good idea.
25
+
26
+ For the HTML export config, CSS minification is enabled.
Original file line number Diff line number Diff line change 8
8
"test" : " npm run-script standard && npm run-script jsonlint" ,
9
9
"jsonlint" : " find . -not -path './node_modules/*' -type f -name '*.json' -o -type f -name '*.json.example' | while read json; do echo $json ; jq . $json; done" ,
10
10
"standard" : " node ./node_modules/standard/bin/cmd.js" ,
11
- "dev" : " webpack --config webpack.config .js --mode=production --progress --colors --watch" ,
12
- "build" : " webpack --config webpack.production .js --progress --colors --bail" ,
11
+ "dev" : " webpack --config webpack.dev .js --progress --colors --watch" ,
12
+ "build" : " webpack --config webpack.prod .js --progress --colors --bail" ,
13
13
"postinstall" : " bin/heroku" ,
14
14
"start" : " node app.js" ,
15
15
"doctoc" : " doctoc --title='# Table of Contents' README.md"
188
188
"url-loader" : " ^1.0.1" ,
189
189
"webpack" : " ^4.14.0" ,
190
190
"webpack-cli" : " ^3.1.0" ,
191
+ "webpack-merge" : " ^4.1.4" ,
191
192
"webpack-parallel-uglify-plugin" : " ^1.1.0"
192
193
},
193
194
"standard" : {
Original file line number Diff line number Diff line change @@ -10,6 +10,7 @@ var gracefulFs = require('graceful-fs')
10
10
gracefulFs . gracefulify ( fs )
11
11
12
12
module . exports = {
13
+ name : 'app' ,
13
14
plugins : [
14
15
new webpack . ProvidePlugin ( {
15
16
Visibility : 'visibilityjs' ,
Load Diff This file was deleted.
Original file line number Diff line number Diff line change
1
+ const common = require ( './webpack.common.js' )
2
+ const htmlexport = require ( './webpack.htmlexport' )
3
+ const merge = require ( 'webpack-merge' )
4
+
5
+ module . exports = [
6
+ // merge common config
7
+ merge ( common , {
8
+ mode : 'development' ,
9
+ devtool : 'cheap-module-eval-source-map'
10
+ } ) ,
11
+ merge ( htmlexport , {
12
+ mode : 'development' ,
13
+ devtool : 'cheap-module-eval-source-map'
14
+ } ) ]
Original file line number Diff line number Diff line change
1
+ const MiniCssExtractPlugin = require ( 'mini-css-extract-plugin' )
2
+ const path = require ( 'path' )
3
+
4
+ module . exports = {
5
+ name : 'save-as-html' ,
6
+ entry : {
7
+ htmlExport : path . join ( __dirname , 'public/js/htmlExport.js' )
8
+ } ,
9
+ module : {
10
+ rules : [ {
11
+ test : / \. c s s $ / ,
12
+ use : [ MiniCssExtractPlugin . loader , 'css-loader' ]
13
+ } ]
14
+ } ,
15
+ output : {
16
+ path : path . join ( __dirname , 'public/build' ) ,
17
+ publicPath : '/build/' ,
18
+ filename : '[name].js'
19
+ } ,
20
+ plugins : [
21
+ new MiniCssExtractPlugin ( {
22
+ filename : 'html.min.css'
23
+ } )
24
+ ]
25
+ }
Original file line number Diff line number Diff line change
1
+ const common = require ( './webpack.common.js' )
2
+ const htmlexport = require ( './webpack.htmlexport' )
3
+ const merge = require ( 'webpack-merge' )
4
+ const path = require ( 'path' )
5
+ const OptimizeCSSAssetsPlugin = require ( 'optimize-css-assets-webpack-plugin' )
6
+
7
+ module . exports = [
8
+ merge ( common , {
9
+ mode : 'production' ,
10
+ output : {
11
+ path : path . join ( __dirname , 'public/build' ) ,
12
+ publicPath : '/build/' ,
13
+ filename : '[name].[contenthash].js'
14
+ }
15
+ } ) ,
16
+ merge ( htmlexport , {
17
+ mode : 'production' ,
18
+ optimization : {
19
+ minimizer : [
20
+ new OptimizeCSSAssetsPlugin ( { } )
21
+ ]
22
+ }
23
+ } ) ]
Load Diff This file was deleted.
Original file line number Diff line number Diff line change @@ -11168,6 +11168,13 @@ webpack-cli@^3.1.0:
11168
11168
v8-compile-cache "^2.0.0"
11169
11169
yargs "^12.0.1"
11170
11170
11171
+ webpack-merge@^4.1.4 :
11172
+ version "4.1.4"
11173
+ resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.1.4.tgz#0fde38eabf2d5fd85251c24a5a8c48f8a3f4eb7b"
11174
+ integrity sha512-TmSe1HZKeOPey3oy1Ov2iS3guIZjWvMT2BBJDzzT5jScHTjVC3mpjJofgueEzaEd6ibhxRDD6MIblDr8tzh8iQ==
11175
+ dependencies :
11176
+ lodash "^4.17.5"
11177
+
11171
11178
webpack-parallel-uglify-plugin@^1.1.0 :
11172
11179
version "1.1.0"
11173
11180
resolved "https://registry.yarnpkg.com/webpack-parallel-uglify-plugin/-/webpack-parallel-uglify-plugin-1.1.0.tgz#252a6c796bf79a8047b00de2cf08c23aa9861441"
You can’t perform that action at this time.
0 commit comments