Răsfoiți Sursa

修改程序的打包。

yangzhijie 4 ani în urmă
părinte
comite
73431c4e91
3 a modificat fișierele cu 33 adăugiri și 30 ștergeri
  1. 1 1
      package.json
  2. 13 14
      webpack.base.js
  3. 19 15
      webpack.lib.js

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "pc-component-v3",
-  "version": "1.0.19",
+  "version": "1.0.20",
   "description": "",
   "main": "dist/pc-component-v3.js",
   "scripts": {

+ 13 - 14
webpack.base.js

@@ -6,19 +6,9 @@ const ESLintPlugin = require('eslint-webpack-plugin');
 module.exports = {
   module: {
     rules: [
-      {
-        test: /\.css$/,
-        use: [
-          'style-loader',
-          'css-loader'
-        ],
-      },
       {
         test: /\.vue$/,
         loader: 'vue-loader',
-        options: {
-          // other vue-loader options go here
-        }
       },
       {
         // 使用babel-loader处理js文件,会将es5以上的语法进行转义(无法转义es6 API)
@@ -26,9 +16,16 @@ module.exports = {
         loader: 'babel-loader',     // 使用babel-loader进行处理
         exclude: /node_modules/,    //排除node_modules下的文件
         include: [path.resolve(__dirname, 'packages'), path.resolve(__dirname, 'examples')],
-        options: {
-          presets: ["@babel/env"]
-        }
+        // options: {
+        //   presets: ["@babel/env"]
+        // }
+      },
+      {
+        test: /\.css$/,
+        use: [
+          'style-loader',
+          'css-loader'
+        ],
       },
       {
         test: /\.(png|jpg|gif|svg)$/,
@@ -39,13 +36,14 @@ module.exports = {
       }
     ]
   },
+
   resolve: {
     alias: {
       '@': path.resolve(__dirname, 'packages'),
-      // 'vue$': 'vue/dist/vue.esm.js'
     },
     extensions: ['*', '.js', '.vue', '.json']
   },
+
   performance: {
     hints: false
   },
@@ -58,6 +56,7 @@ module.exports = {
     bootstrap: 'bootstrap',
     moment: 'moment'
   },
+  
   plugins: [
     new VueLoaderPlugin(),
     new ESLintPlugin({

+ 19 - 15
webpack.lib.js

@@ -4,39 +4,43 @@ const WebpackMerge = require('webpack-merge')
 const baseConfig = require('./webpack.base.js')
 
 module.exports = WebpackMerge.merge(baseConfig,{
-  mode: 'development',
+  mode: 'production',
+  
   // 发布组件
   entry: "./packages/index.js",
+
   output: {
     path: path.resolve(__dirname, './dist'),
     publicPath: '/dist/',
     filename: 'pc-component-v3.js',
     library: "pc-component-v3",
     libraryTarget: "umd",
+    // 「devtool 中模块」的文件名模板(用于冲突)
     umdNamedDefine: true
   },
-  devtool: 'source-map',
+
+  
+  optimization: {
+    minimize: true,    // 压缩 bundle
+  },
+  
+  // devtool: 'source-map',
+
   plugins: (module.exports.plugins || []).concat([
-   
-    // new webpack.optimize.UglifyJsPlugin({
-    //   sourceMap: true,
-    //   compress: {
-    //     warnings: false
-    //   }
-    // }),
-    // new webpack.LoaderOptionsPlugin({
-    //   minimize: false
-    // })
+    new webpack.LoaderOptionsPlugin({
+      minimize: true
+    })
   ]),
+
   // 不把第三方库打包到bundle中
   externals: {
     jQuery: 'window.$',
     jquery: 'window.$',
     $: 'window.$',
-    bootstrap: 'bootstrap',
-    moment: 'moment',
+    'bootstrap': 'bootstrap',
+    'moment': 'moment',
     // 不将vue代码打包进我们的组件库代码中,如果将vue代码打包进组件库中则会报错
-    vue: 'vue',
+    'vue': 'vue',
     'vue-i18n': 'vue-i18n',
     'vue-router': 'vue-router',
     'v-tooltip': 'v-tooltip',