1- const webpack = require ( "webpack" ) ,
2- HtmlWebpackPlugin = require ( "html-webpack-plugin" ) ,
3- path = require ( "path" ) ,
4- MiniCssExtractPlugin = require ( "mini-css-extract-plugin" ) ,
1+ const path = require ( 'path' ) ,
52 CopyWebpackPlugin = require ( 'copy-webpack-plugin' ) ,
6- CleanWebpackPlugin = require ( 'clean-webpack-plugin' ) ;
3+ CleanWebpackPlugin = require ( 'clean-webpack-plugin' ) ,
4+ HtmlWebpackPlugin = require ( 'html-webpack-plugin' ) ,
5+ MiniCssExtractPlugin = require ( 'mini-css-extract-plugin' ) ,
6+ webpack = require ( 'webpack' ) ;
77
88module . exports = mode => {
99 return {
1010 entry : {
11- polyfills : "./polyfills .js" ,
12- vendor : "./vendor .js" ,
13- app : "./src/app .js"
11+ app : './src/app .js' ,
12+ polyfills : './polyfills .js' ,
13+ vendor : './vendor .js'
1414 } ,
1515
1616 resolve : {
17- extensions : [ " .js" , " .jsx" ]
17+ extensions : [ ' .js' , ' .jsx' ]
1818 } ,
1919
2020 module : {
2121 rules : [ {
22- test : / \. ( j s | j s x ) $ / ,
23- exclude : / n o d e _ m o d u l e s / ,
24- use : [ {
25- loader : "babel-loader"
26- } ,
27- {
28- loader : "angularjs-template-loader?relativeTo:" +
29- path . resolve ( __dirname , "../src" )
30- }
31- ]
22+ test : / \. ( j s | j s x ) $ / ,
23+ exclude : / n o d e _ m o d u l e s / ,
24+ use : [ {
25+ loader : 'babel-loader'
3226 } ,
3327 {
34- test : / \. h t m l $ / ,
35- use : [ {
36- loader : "html-loader" ,
37- options : {
38- minimize : true
39- }
40- } ]
41- } ,
42- {
43- test : / \. s c s s $ / ,
44- use : [
45- // fallback to style-loader in development
46- ! mode ?
47- "style-loader" :
48- MiniCssExtractPlugin . loader ,
49- "css-loader" ,
50- "sass-loader"
51- ]
52- } ,
53- {
54- test : / \. ( e o t | s v g | t t f | w o f f | w o f f 2 ) $ / ,
55- use : "file-loader?name=pubic/fonts/[name].[ext]"
28+ loader : 'angularjs-template-loader?relativeTo:' +
29+ path . resolve ( __dirname , '../src' )
5630 }
31+ ]
32+ } ,
33+ {
34+ test : / \. h t m l $ / ,
35+ use : [ {
36+ loader : 'html-loader' ,
37+ options : {
38+ minimize : true
39+ }
40+ } ]
41+ } ,
42+ {
43+ test : / \. s c s s $ / ,
44+ use : [
45+ // fallback to style-loader in development
46+ ! mode ?
47+ 'style-loader' :
48+ MiniCssExtractPlugin . loader ,
49+ 'css-loader' ,
50+ 'sass-loader'
51+ ]
52+ } ,
53+ {
54+ test : / \. ( e o t | s v g | t t f | w o f f | w o f f 2 ) $ / ,
55+ use : 'file-loader?name=pubic/fonts/[name].[ext]'
56+ }
5757 ]
5858 } ,
5959
@@ -62,24 +62,24 @@ module.exports = mode => {
6262 cleanOnceBeforeBuildPatterns : [ path . resolve ( __dirname , '../dist' ) ]
6363 } ) ,
6464 new HtmlWebpackPlugin ( {
65- template : " ./index.html" , // Input FileName
66- filename : " ./index.html" // Output FileName
65+ template : ' ./index.html' , // Input FileName
66+ filename : ' ./index.html' // Output FileName
6767 } ) ,
6868 new webpack . ProvidePlugin ( { } ) ,
6969 new MiniCssExtractPlugin ( {
70- filename : " [name].css"
70+ filename : ' [name].css'
7171 } ) ,
7272 new CopyWebpackPlugin (
7373 [ {
74- from : path . resolve ( __dirname , " ../src/partialViews/**/*.html" ) ,
75- to : ""
74+ from : path . resolve ( __dirname , ' ../src/partialViews/**/*.html' ) ,
75+ to : ''
7676 } ] , { }
7777 )
7878 ] ,
7979
8080 optimization : {
8181 splitChunks : {
82- chunks : " all" ,
82+ chunks : ' all' ,
8383 maxAsyncRequests : 5 ,
8484 minChunks : 1
8585 } ,
@@ -89,5 +89,5 @@ module.exports = mode => {
8989 stats : {
9090 warnings : false
9191 }
92- }
93- } ;
92+ } ;
93+ } ;
0 commit comments