vue.config.js 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. const path = require('path')
  2. const CompressionPlugin = require("compression-webpack-plugin")
  3. function resolve(dir) {
  4. return path.join(__dirname, dir)
  5. }
  6. // vue.config.js
  7. module.exports = {
  8. /*
  9. Vue-cli3:
  10. Crashed when using Webpack `import()` #2463
  11. https://github.com/vuejs/vue-cli/issues/2463
  12. */
  13. // 如果你不需要生产环境的 source map,可以将其设置为 false 以加速生产环境构建。
  14. productionSourceMap: false,
  15. outputDir: 'ad_admin', // 根据项目情况配置打包文件名
  16. //打包app时放开该配置
  17. //publicPath:'./',
  18. configureWebpack: config => {
  19. //生产环境取消 console.log
  20. if (process.env.NODE_ENV === 'production') {
  21. config.optimization.minimizer[0].options.terserOptions.compress.drop_console = true
  22. }
  23. },
  24. chainWebpack: (config) => {
  25. config.resolve.alias
  26. .set('@$', resolve('src'))
  27. .set('@api', resolve('src/api'))
  28. .set('@assets', resolve('src/assets'))
  29. .set('@comp', resolve('src/components'))
  30. .set('@views', resolve('src/views'))
  31. .set('@layout', resolve('src/layout'))
  32. .set('@static', resolve('src/static'))
  33. .set('@mobile', resolve('src/modules/mobile'))
  34. //生产环境,开启js\css压缩
  35. if (process.env.NODE_ENV === 'production') {
  36. config.plugin('compressionPlugin').use(new CompressionPlugin({
  37. test: /\.js$|.\css|.\less/, // 匹配文件名
  38. threshold: 10240, // 对超过10k的数据压缩
  39. deleteOriginalAssets: false // 不删除源文件
  40. }))
  41. }
  42. // 配置 webpack 识别 markdown 为普通的文件
  43. config.module
  44. .rule('markdown')
  45. .test(/\.md$/)
  46. .use()
  47. .loader('file-loader')
  48. .end()
  49. },
  50. css: {
  51. loaderOptions: {
  52. less: {
  53. modifyVars: {
  54. /* less 变量覆盖,用于自定义 ant design 主题 */
  55. 'primary-color': '#1890FF',
  56. 'link-color': '#1890FF',
  57. 'border-radius-base': '4px',
  58. },
  59. javascriptEnabled: true,
  60. }
  61. }
  62. },
  63. devServer: {
  64. port: 3000,
  65. proxy: {
  66. '/king': {
  67. target: 'http://localhost:8080', //请求本地 需要king-boot后台项目
  68. ws: false,
  69. changeOrigin: true
  70. }
  71. }
  72. },
  73. lintOnSave: undefined
  74. }