Browse Source

增加构建commonjs版本

Frans 6 years ago
parent
commit
28730e517e
2 changed files with 48 additions and 1 deletions
  1. 46 0
      build/webpack.prod.cmn.conf.js
  2. 2 1
      package.json

+ 46 - 0
build/webpack.prod.cmn.conf.js

@@ -0,0 +1,46 @@
+const webpack = require('webpack');
+const path = require('path');
+const MiniCssExtractPlugin = require("mini-css-extract-plugin");
+const webpackBaseConf = require('./webpack.base.conf.js');
+const rimraf = require('rimraf');
+const merge = require('webpack-merge');
+
+rimraf('./dist/nutui.common.js', function (err) {
+    if (err) console.log(err);
+});
+
+module.exports = merge(webpackBaseConf, {
+    mode: 'production',
+    devtool: 'source-map',
+    entry: {
+        nutui: './src/nutui.js',
+    },
+    externals: {
+        'vue': {
+            root: 'Vue',
+            commonjs: 'vue',
+            commonjs2: 'vue',
+            amd: 'vue'
+        }
+    },
+    output: {
+        path: path.resolve(__dirname, '../dist/'),
+        filename: 'nutui.common.js',
+        library: 'nutui',
+        libraryTarget: 'commonjs2',
+        umdNamedDefine: true
+    },
+    plugins: [
+        new MiniCssExtractPlugin({
+            filename: '[name].css'
+        }),
+        new webpack.DefinePlugin({
+            'process.env': {
+                NODE_ENV: '"production"'
+            }
+        })
+    ],
+    optimization: {
+        minimize: false
+    }
+});

+ 2 - 1
package.json

@@ -22,7 +22,8 @@
     "build:prod": "cross-env NODE_ENV=production webpack --hide-modules --progress --config build/webpack.prod.conf.js && node scripts/createIndexScss.js",
     "build:prod": "cross-env NODE_ENV=production webpack --hide-modules --progress --config build/webpack.prod.conf.js && node scripts/createIndexScss.js",
     "build:prodmin": "cross-env NODE_ENV=production webpack --hide-modules --progress --config build/webpack.prod.mini.conf.js",
     "build:prodmin": "cross-env NODE_ENV=production webpack --hide-modules --progress --config build/webpack.prod.mini.conf.js",
     "build:disp": "cross-env NODE_ENV=production webpack --hide-modules --progress --config build/webpack.disperse.conf.js",
     "build:disp": "cross-env NODE_ENV=production webpack --hide-modules --progress --config build/webpack.disperse.conf.js",
-    "build": "npm run build:prod && npm run build:prodmin && npm run build:disp",
+    "build:cmn": "cross-env NODE_ENV=production webpack --hide-modules --progress --config build/webpack.prod.cmn.conf.js",
+    "build": "npm run build:prod && npm run build:prodmin && npm run build:cmn && npm run build:disp",
     "eslint": "eslint src/packages/**/*.{js,vue}",
     "eslint": "eslint src/packages/**/*.{js,vue}",
     "add": "node scripts/createCptTpl.js",
     "add": "node scripts/createCptTpl.js",
     "test": "cross-env NODE_ENV=test nyc --reporter=lcov --reporter=text  mocha-webpack --webpack-config build/webpack.test.conf.js --require test/setup.js src/packages/*/__test__/**.spec.js",
     "test": "cross-env NODE_ENV=test nyc --reporter=lcov --reporter=text  mocha-webpack --webpack-config build/webpack.test.conf.js --require test/setup.js src/packages/*/__test__/**.spec.js",