@@ -149,10 +149,16 @@ const indexFile = path.join(__dirname, 'src/index.tsx');
149149// };
150150
151151const config = {
152- entry : [ './src' ] ,
152+ mode : 'development' ,
153+ target : 'web' ,
154+ devtool : 'eval-source-map' ,
155+ entry : {
156+ app : [ indexFile ] ,
157+ } ,
153158 output : {
154- path : path . join ( __dirname , 'dist' ) ,
155- filename : 'bundle.js' ,
159+ path : path . join ( __dirname , 'docs' ) ,
160+ filename : '[name].js' ,
161+ chunkFilename : '[name].js' ,
156162 } ,
157163 resolve : {
158164 modules : [ 'node_modules' ] ,
@@ -172,7 +178,6 @@ const config = {
172178 exclude : [ nodeModulesDir ] ,
173179 use : [ 'awesome-typescript-loader' ] ,
174180 } ,
175-
176181 {
177182 test : / \. c s s $ / ,
178183 use : [ 'style-loader' , 'css-loader' ] ,
@@ -191,12 +196,45 @@ const config = {
191196 } ,
192197 ] ,
193198 } ,
194- devtool : 'eval-source-map' ,
199+ optimization : {
200+ runtimeChunk : false ,
201+ splitChunks : {
202+ cacheGroups : {
203+ commons : {
204+ test : / [ \\ / ] n o d e _ m o d u l e s [ \\ / ] / ,
205+ name : 'vendors' ,
206+ chunks : 'all' ,
207+ } ,
208+ styles : {
209+ name : 'styles' ,
210+ test : / \. c s s $ / ,
211+ chunks : 'all' ,
212+ enforce : true ,
213+ } ,
214+ } ,
215+ } ,
216+ } ,
217+ devServer : {
218+ host : 'localhost' ,
219+ port : 3001 ,
220+ historyApiFallback : true ,
221+ contentBase : path . join ( __dirname , 'temp' ) ,
222+ headers : { 'Access-Control-Allow-Origin' : '*' } ,
223+ } ,
195224 plugins : [
196225 new HtmlWebpackPlugin ( {
197226 template : 'index.html' ,
198227 } ) ,
199228 new webpack . NamedModulesPlugin ( ) ,
229+ new webpack . DefinePlugin ( {
230+ 'process.env' : {
231+ NODE_ENV : JSON . stringify ( 'dev' ) ,
232+ } ,
233+ } ) ,
234+ new ProgressBarPlugin ( {
235+ format : 'Build [:bar] :percent (:elapsed seconds)' ,
236+ clear : false ,
237+ } ) ,
200238 ] ,
201239} ;
202240
0 commit comments