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