webpack.lib.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. var path = require('path')
  2. var webpack = require('webpack')
  3. const WebpackMerge = require('webpack-merge')
  4. const baseConfig = require('./webpack.base.js')
  5. module.exports = WebpackMerge.merge(baseConfig,{
  6. mode: 'production',
  7. // 发布组件
  8. entry: "./packages/index.js",
  9. output: {
  10. path: path.resolve(__dirname, './dist'),
  11. publicPath: '/dist/',
  12. filename: 'pc-component-v3.js',
  13. library: "pc-component-v3",
  14. libraryTarget: "umd",
  15. // 「devtool 中模块」的文件名模板(用于冲突)
  16. umdNamedDefine: false
  17. },
  18. optimization: {
  19. minimize: true, // 压缩 bundle
  20. },
  21. devtool: 'source-map',
  22. plugins: (module.exports.plugins || []).concat([
  23. new webpack.LoaderOptionsPlugin({
  24. minimize: true
  25. })
  26. ]),
  27. // 不把第三方库打包到bundle中
  28. externals: {
  29. jQuery: 'window.$',
  30. jquery: 'window.$',
  31. $: 'window.$',
  32. 'bootstrap': 'bootstrap',
  33. 'moment': 'moment',
  34. // 不将vue代码打包进我们的组件库代码中,如果将vue代码打包进组件库中则会报错
  35. 'vue': 'vue',
  36. 'vue-i18n': 'vue-i18n',
  37. 'vue-router': 'vue-router',
  38. 'v-tooltip': 'v-tooltip',
  39. 'vuedraggable': 'vuedraggable',
  40. "amis": "amis"
  41. }
  42. });