vue.config.js 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. const path = require('path')
  2. const fs = require('fs')
  3. function resolve(dir) {
  4. return path.join(__dirname, dir)
  5. }
  6. let devServer = {
  7. proxy: { // 代理
  8. '/dev-api': {
  9. target: 'http://localhost:3333', //设置你调用的接口域名和端口号 别忘了加http
  10. ws: false, //如果要代理 websockets
  11. changeOrigin: true, //将主机标头的原点更改为目标URL
  12. pathRewrite: {
  13. '^/dev-api': ''
  14. }
  15. },
  16. '/salesLeads': {
  17. target: 'https://jybx2-webtest.jydev.jianyu360.com/',
  18. ws: false, //如果要代理 websockets
  19. changeOrigin: true, //将主机标头的原点更改为目标URL
  20. pathRewrite: {
  21. '^/salesLeads': '/salesLeads'
  22. }
  23. }
  24. // '/dev-api': {
  25. // target: 'http://localhost:3333', //设置你调用的接口域名和端口号 别忘了加http
  26. // ws: false, //如果要代理 websockets
  27. // changeOrigin: true, //将主机标头的原点更改为目标URL
  28. // pathRewrite: {
  29. // '^/dev-api': ''
  30. // },
  31. // },
  32. // '/service/public': {
  33. // target: 'http://localhost:3333', //设置你调用的接口域名和端口号 别忘了加http
  34. // ws: false, //如果要代理 websockets
  35. // changeOrigin: true, //将主机标头的原点更改为目标URL
  36. // pathRewrite: {
  37. // '^/service/public': ''
  38. // },
  39. // },
  40. // '/third-libs': {
  41. // target: 'http://localhost:3333', //设置你调用的接口域名和端口号 别忘了加http
  42. // ws: false, //如果要代理 websockets
  43. // changeOrigin: true, //将主机标头的原点更改为目标URL
  44. // pathRewrite: {
  45. // '^/third-libs': '/third-libs'
  46. // },
  47. // },
  48. // '/engine_libs': {
  49. // target: 'http://localhost:3333', //设置你调用的接口域名和端口号 别忘了加http
  50. // ws: false, //如果要代理 websockets
  51. // changeOrigin: true, //将主机标头的原点更改为目标URL
  52. // pathRewrite: {
  53. // '^/engine_libs': '/engine_libs'
  54. // },
  55. // }
  56. }
  57. }
  58. module.exports = {
  59. devServer: devServer,
  60. // 输出文件目录
  61. assetsDir: "static",
  62. outputDir: './service/public',
  63. // publicPath: "./service/public",
  64. publicPath: "./",
  65. // 修改 pages 入口
  66. pages: {
  67. index: {
  68. entry: 'client/main.js', // 入口
  69. template: 'public/engine-h5-long.html', // 模板
  70. filename: 'index.html', // 输出文件
  71. }
  72. },
  73. css: {
  74. loaderOptions: {
  75. scss: {
  76. sassOptions: {
  77. quietDeps: true,
  78. },
  79. additionalData: `@import "@client/common/styles/variables.scss";`
  80. },
  81. less: {
  82. lessOptions: {
  83. modifyVars: {
  84. hack: 'true; @import "@client/common/styles/vant.theme.less";'
  85. }
  86. }
  87. }
  88. // sass: {
  89. // // @/ 是 src/ 的别名
  90. // data: fs.readFileSync(path.resolve(__dirname, `./client/common/styles/variables.scss`), 'utf-8') // 公共变量文件注入
  91. // }
  92. }
  93. },
  94. // 扩展 webpack 配置
  95. chainWebpack: config => {
  96. // @ 默认指向 src 目录,这里要改成 examples
  97. // 另外也可以新增一个 ~ 指向 packages
  98. config.resolve.alias
  99. .set('@', path.resolve('client'))
  100. .set('@client', path.resolve('client'))
  101. .set('@plugins', path.resolve('plugins'))
  102. .set('@service', path.resolve('service'))
  103. config.module
  104. .rule('js')
  105. .include.add(/engine-template/).end()
  106. .include.add(/client/).end()
  107. .include.add(/common/).end()
  108. .use('babel')
  109. .loader('babel-loader')
  110. .tap(options => {
  111. // 修改它的选项...
  112. return options
  113. })
  114. // 移除 prefetch 插件,当页面太多时,会导致太多无意义的请求
  115. config.plugins.delete('prefetch')
  116. }
  117. }