vue.config.js 2.2 KB

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