webpack.lib1.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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: {
  14. // type: 'module',
  15. // },
  16. library: 'pc-component-v3',
  17. libraryTarget: 'umd',
  18. //「devtool 中模块」的文件名模板(用于冲突)
  19. umdNamedDefine: false,
  20. },
  21. experiments: {
  22. outputModule: true,
  23. },
  24. optimization: {
  25. minimize: true, // 压缩 bundle
  26. },
  27. //devtool: 'source-map',
  28. plugins: (module.exports.plugins || []).concat([
  29. new webpack.LoaderOptionsPlugin({
  30. minimize: true,
  31. }),
  32. ]),
  33. // 不把第三方库打包到bundle中
  34. externals: {
  35. jQuery: 'window.$',
  36. jquery: 'window.$',
  37. $: 'window.$',
  38. 'bootstrap': 'bootstrap',
  39. 'dayjs': 'dayjs',
  40. // 不将vue代码打包进我们的组件库代码中,如果将vue代码打包进组件库中则会报错
  41. 'vue': 'vue',
  42. 'vue-i18n': 'vue-i18n',
  43. 'vue-router': 'vue-router',
  44. 'v-tooltip': 'v-tooltip',
  45. 'vuedraggable': 'vuedraggable',
  46. 'lowcode': 'lowcode',
  47. },
  48. });