1- const path = require ( "path" ) ;
2- const webpack = require ( "webpack" ) ;
3- const { VueLoaderPlugin } = require ( "vue-loader" ) ;
4- const MiniCssExtractPlugin = require ( "mini-css-extract-plugin" ) ;
5- const { CleanWebpackPlugin } = require ( "clean-webpack-plugin" ) ;
6- const { BundleAnalyzerPlugin } = require ( "webpack-bundle-analyzer" ) ;
7- const EsbuildPlugin = require ( "./plugins/esbuild-plugin" ) ;
1+ const path = require ( 'path' ) ;
2+ const webpack = require ( 'webpack' ) ;
3+ const { VueLoaderPlugin } = require ( 'vue-loader' ) ;
4+ const MiniCssExtractPlugin = require ( 'mini-css-extract-plugin' ) ;
5+ const { BundleAnalyzerPlugin } = require ( 'webpack-bundle-analyzer' ) ;
6+ const EsbuildPlugin = require ( './plugins/esbuild-plugin' ) ;
87
9- const root = path . resolve ( __dirname , ".." ) ;
10- const pkg = require ( path . resolve ( root , " ./package.json" ) ) ;
8+ const root = path . resolve ( __dirname , '..' ) ;
9+ const pkg = require ( path . resolve ( root , ' ./package.json' ) ) ;
1110
12- const publicPath = "/" ;
11+ const publicPath = '/' ;
1312
14- const library = " cloudAdminDesigner" ;
13+ const library = ' cloudAdminDesigner' ;
1514
16- const extensions = [ " .vue" , " .js" , " .ts" , " .json" , " .css" ] ;
15+ const extensions = [ ' .vue' , ' .js' , ' .ts' , ' .json' , ' .css' ] ;
1716
1817const baseConfig = ( type ) => {
1918 return {
20- mode : " production" ,
21- devtool : " source-map" ,
22- entry : [ path . resolve ( root , `./src/assets/css/index.${ type } .css` ) , path . resolve ( root , " ./src/init.js" ) ] ,
19+ mode : ' production' ,
20+ devtool : ' source-map' ,
21+ entry : [ path . resolve ( root , `./src/assets/css/index.${ type } .css` ) , path . resolve ( root , ' ./src/init.js' ) ] ,
2322 output : {
2423 publicPath,
2524 path : path . resolve ( root , `dist/${ type } ` ) ,
2625 filename : `${ library } .umd.min.js` ,
2726 library : {
2827 name : library ,
29- type : " umd" ,
28+ type : ' umd' ,
3029 umdNamedDefine : true ,
31- export : " default" ,
30+ export : ' default' ,
3231 } ,
3332 } ,
3433 resolve : {
3534 alias : {
36- "@" : path . resolve ( root , " src" ) ,
35+ '@' : path . resolve ( root , ' src' ) ,
3736 } ,
3837 extensions : [ ...extensions , ...extensions . map ( ( ext ) => `.${ type } ${ ext } ` ) ] ,
3938 } ,
4039 externals : {
4140 vue : {
42- root : " Vue" ,
43- commonjs : " vue" ,
44- commonjs2 : " vue" ,
45- amd : " vue" ,
41+ root : ' Vue' ,
42+ commonjs : ' vue' ,
43+ commonjs2 : ' vue' ,
44+ amd : ' vue' ,
4645 } ,
4746 } ,
4847 module : {
4948 rules : [
5049 {
5150 test : / \. v u e $ / ,
52- loader : " vue-loader" ,
51+ loader : ' vue-loader' ,
5352 } ,
5453 {
5554 test : / \. j s $ / ,
56- loader : " babel-loader" ,
55+ loader : ' babel-loader' ,
5756 } ,
5857 {
5958 test : / \. t s $ / ,
6059 use : [
6160 {
62- loader : " babel-loader" ,
61+ loader : ' babel-loader' ,
6362 } ,
6463 {
65- loader : " ts-loader" ,
64+ loader : ' ts-loader' ,
6665 } ,
6766 ] ,
6867 } ,
@@ -71,13 +70,13 @@ const baseConfig = (type) => {
7170 use : [
7271 MiniCssExtractPlugin . loader ,
7372 {
74- loader : " css-loader" ,
73+ loader : ' css-loader' ,
7574 } ,
7675 {
77- loader : " postcss-loader" ,
76+ loader : ' postcss-loader' ,
7877 options : {
7978 postcssOptions : {
80- plugins : [ " autoprefixer" ] ,
79+ plugins : [ ' autoprefixer' ] ,
8180 } ,
8281 } ,
8382 } ,
@@ -88,31 +87,30 @@ const baseConfig = (type) => {
8887 optimization : {
8988 minimizer : [
9089 new EsbuildPlugin ( {
91- target : " es2015" ,
90+ target : ' es2015' ,
9291 css : true ,
9392 } ) ,
9493 ] ,
9594 } ,
9695 plugins : [
9796 new webpack . ProvidePlugin ( {
98- process : require . resolve ( " process/browser" ) ,
97+ process : require . resolve ( ' process/browser' ) ,
9998 } ) ,
10099 new VueLoaderPlugin ( ) ,
101100 new MiniCssExtractPlugin ( {
102101 filename : `${ library } .css` ,
103102 } ) ,
104103 new webpack . ProgressPlugin ( ) ,
105- new CleanWebpackPlugin ( ) ,
106104 // new BundleAnalyzerPlugin({
107105 // analyzerMode: "static",
108106 // openAnalyzer: false,
109107 // reportFilename: `report-${type}.html`,
110108 // }),
111109 ] ,
112- stats : " minimal" ,
110+ stats : ' minimal' ,
113111 } ;
114112} ;
115113
116- module . exports = [ baseConfig ( "pc" ) , baseConfig ( " mobile" ) ] ;
114+ module . exports = [ baseConfig ( 'pc' ) , baseConfig ( ' mobile' ) ] ;
117115
118116exports . baseConfig = baseConfig ;
0 commit comments