vue.config.js 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. var projectname = process.argv[3];
  2. var glob = require("glob");
  3. var publicPath = ''
  4. function getEntry() {
  5. var entries = {};
  6. if (process.env.NODE_ENV == "production") {
  7. entries = {
  8. index: {
  9. // page的入口
  10. entry: "src/views/" + projectname + "/main.js",
  11. // 模板来源
  12. template: "public/index.html",
  13. // 在 dist/index.html 的输出
  14. filename: "index.html",
  15. title: projectname,
  16. chunks: ["chunk-vendors", "chunk-common", "index"]
  17. }
  18. };
  19. publicPath = '/' + projectname + '/'
  20. } else {
  21. var items = glob.sync("./src/views/*/*.js");
  22. for (var i in items) {
  23. var filepath = items[i];
  24. var fileList = filepath.split("/");
  25. var fileName = fileList[fileList.length - 2];
  26. publicPath = '/' + fileName + '/'
  27. entries[fileName] = {
  28. entry: `src/views/${fileName}/main.js`,
  29. // 模板来源
  30. template: `public/index.html`,
  31. // 在 dist/index.html 的输出
  32. filename: `${fileName}.html`,
  33. };
  34. }
  35. }
  36. return entries;
  37. }
  38. const path = require('path')
  39. function resolve(dir) {
  40. return path.join(__dirname, dir)
  41. }
  42. const port = process.env.port || process.env.npm_config_port || 12004 // dev port
  43. const name = 'vue Admin Template' // page title
  44. var pages = getEntry();
  45. console.log(process.env.VUE_APP_ZL_WSS, 'process.env.VUE_APP_ZL_WSS')
  46. console.log(process.env.VUE_APP_BASE_API, 'process.env.VUE_APP_ZL_WSS')
  47. module.exports = {
  48. // publicPath:'/weibao/',
  49. publicPath: publicPath,
  50. productionSourceMap: false, // 生产禁止显示源代码
  51. outputDir: "dist/" + projectname,
  52. pages: pages,
  53. lintOnSave: process.env.NODE_ENV === 'development',
  54. productionSourceMap: false,
  55. devServer: {
  56. port: port,
  57. open: true,
  58. overlay: {
  59. warnings: false,
  60. errors: true
  61. },
  62. proxy: {
  63. [process.env.VUE_APP_BASE_API]: {
  64. target: 'https://test.poteviohealth.com/pmgw/',
  65. // target: 'http://localhost:12017/',
  66. changeOrigin: true,
  67. secure: false,
  68. pathRewrite: {
  69. ['^' + process.env.VUE_APP_BASE_API]: ''
  70. }
  71. },
  72. //
  73. [process.env.VUE_APP_ZL_WSS]: {
  74. target: 'https://cdbwss.poteviohealth.com/api/',
  75. // target: 'http://localhost:12017/',
  76. changeOrigin: true,
  77. secure: false,
  78. pathRewrite: {
  79. ['^' + process.env.VUE_APP_ZL_WSS]: ''
  80. }
  81. },
  82. [process.env.VUE_APP_ZL_WSS_ZP]: {
  83. target: 'https://test.poteviohealth.com/prod-api',
  84. // target: 'http://localhost:12017/',
  85. changeOrigin: true,
  86. secure: false,
  87. pathRewrite: {
  88. ['^' + process.env.VUE_APP_ZL_WSS_ZP]: ''
  89. }
  90. },
  91. [process.env.VUE_APP_ZL_WSS_ZP_BT]: {
  92. target: 'https://test.poteviohealth.com/subsidy',
  93. // target: 'http://localhost:12017/',
  94. changeOrigin: true,
  95. secure: false,
  96. pathRewrite: {
  97. ['^' + process.env.VUE_APP_ZL_WSS_ZP_BT]: ''
  98. }
  99. },
  100. [process.env.VUE_APP_ZL_JF]: {
  101. target: 'https://jifen.tjpoteviohealth.com/blade-api',
  102. // target: 'http://localhost:12017/',
  103. changeOrigin: true,
  104. secure: false,
  105. pathRewrite: {
  106. ['^' + process.env.VUE_APP_ZL_JF]: ''
  107. }
  108. },
  109. [process.env.VUE_APP_ZL_HEALTH]: {
  110. target: 'http://test.poteviohealth.com:8080/',
  111. // target: 'http://localhost:12017/',
  112. changeOrigin: true,
  113. secure: false,
  114. pathRewrite: {
  115. ['^' + process.env.VUE_APP_ZL_HEALTH]: ''
  116. }
  117. }
  118. }
  119. // after: require('./mock/mock-server.js')
  120. },
  121. configureWebpack: {
  122. // provide the app's title in webpack's name field, so that
  123. // it can be accessed in index.html to inject the correct title.
  124. name: name,
  125. resolve: {
  126. alias: {
  127. '@': resolve('src')
  128. }
  129. }
  130. },
  131. };