webpack.components.config.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. const path = require('path');
  2. // const webpack = require('webpack');
  3. //
  4. const VueLoaderPlugin = require('vue-loader/lib/plugin'); // vue加载器
  5. /** 判断是生产环境还是开发环境 */
  6. // const isProd = process.env.NODE_ENV === 'production';
  7. const config = {
  8. entry: {
  9. index: "./src/index.js",
  10. PCodeGit: './src/PCodeGit/index.js',
  11. PPlantUML: './src/PPlantUML/index.js',
  12. PTableDesign: './src/PTableDesign/index.js',
  13. },
  14. output: {
  15. filename: '[name].js',
  16. path: __dirname + '/lib',
  17. library: 'persagy-vue-doc', // 指定的就是你使用 require 时的模块名
  18. libraryTarget: 'umd', // libraryTarget 会生成不同umd的代码,可以只是 commonjs 标准的,也可以是指amd标准的,也可以只是通过 script 标签引入的
  19. umdNamedDefine: true, // 会对 UMD 的构建过程中的 AMD 模块进行命名。否则就使用匿名的 define
  20. },
  21. module: {
  22. rules: [
  23. {
  24. test: /\.vue$/,
  25. use: [
  26. 'thread-loader', 'cache-loader',
  27. {
  28. loader: 'vue-loader',
  29. options: {
  30. // loaders: {
  31. // css: cssConfig,
  32. // stylus: stylusConfig
  33. // },
  34. preserveWhitespace: false // 不要留空白
  35. }
  36. }],
  37. include: [path.resolve(__dirname, 'src')]
  38. }
  39. ]
  40. },
  41. plugins: [
  42. new VueLoaderPlugin(), // vue加载器
  43. ],
  44. resolve: { // 配置路径别名
  45. extensions: ['.js', '.vue', '.styl'], // import引入文件的时候不用加后缀
  46. },
  47. externals: {
  48. vue: {
  49. root: 'Vue',
  50. commonjs: 'vue',
  51. commonjs2: 'vue',
  52. amd: 'vue'
  53. }
  54. }
  55. };
  56. module.exports = config;