vue.config.js 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. const path = require('path')
  2. const CompressionPlugin = require("compression-webpack-plugin")
  3. function resolve(dir) {
  4. return path.join(__dirname, dir)
  5. }
  6. var appData = require('./json/video.json')//加载本地数据文件
  7. // vue.config.js
  8. module.exports = {
  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. //打包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. '/jeecg-boot': {
  67. // target: 'http://192.168.1.90:8080', //请求本地 需要jeecg-boot后台项目 蒙蒙
  68. // target: 'http://192.168.1.72:8088', //请求本地 需要jeecg-boot后台项目 英豪
  69. // target: 'http://192.168.2.115:8080', //请求本地 需要jeecg-boot后台项目 祚云
  70. // target: 'http://192.168.1.94:8804', //请求本地 需要jeecg-boot后台项目 孙震
  71. // target: 'http://192.168.0.230:8088', //请求本地 需要jeecg-boot后台项目 孙震
  72. // target: 'http://192.168.1.51:8088', //请求本地 需要jeecg-boot后台项目 毕洁泉
  73. // target: 'http://192.168.1.165:8848', //请求本地 需要jeecg-boot后台项目 毕洁泉
  74. target: 'http://api.tjyourong.com.cn', //请求本地 需要jeecg-boot后台项目
  75. // target: 'https://trac.tjyourong.com.cn', //请求本地 需要jeecg-boot后台项目
  76. // target: 'http://39.106.184.70:8088/', //请求本地 需要jeecg-boot后台项目
  77. // target: 'http://adsp.tjyourong.com.cn/', //请求本地 需要jeecg-boot后台项目
  78. // target: 'http://192.168.1.251/', //请求本地 需要jeecg-boot后台项目
  79. ws: false,
  80. changeOrigin: true,
  81. // pathRewrite: {
  82. // '/jeecg-boot': '' //默认所有请求都加了jeecg-boot前缀,需要去掉
  83. // }
  84. },
  85. },
  86. // before(app) {
  87. // app.get('/seller', (req, res) => {
  88. // res.json({
  89. // errno: 0,
  90. // data: appData
  91. // })//接口返回json数据,上面配置的数据seller就赋值给data请求后调用
  92. // })
  93. // }
  94. },
  95. lintOnSave: undefined,
  96. // publicPath:'./'
  97. }