vue.config.js 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. const { defineConfig } = require("@vue/cli-service")
  2. module.exports = defineConfig({
  3. //设置为空打包后不分更目录还是多级目录
  4. publicPath: "/easydo/ops",
  5. outputDir: "easydo/ops",
  6. //build编译后存放静态文件的目录
  7. // assetsDir: "static",
  8. // build编译后不生成资源MAP文件
  9. productionSourceMap: false,
  10. //开发服务,build后的生产模式还需nginx代理
  11. devServer: {
  12. allowedHosts: "all",
  13. open: false, //运行后自动打开浏览器
  14. port: process.env.VUE_APP_PORT, //挂载端口
  15. client: { overlay: false },
  16. proxy: {
  17. "/api": {
  18. target: process.env.VUE_APP_API_BASEURL,
  19. ws: true,
  20. pathRewrite: {
  21. "^/api": ""
  22. }
  23. },
  24. "/ops": {
  25. target: process.env.VUE_APP_OPS_BASEURL,
  26. ws: true,
  27. pathRewrite: {
  28. "^/ops": ""
  29. }
  30. },
  31. "/zeroapi": {
  32. target: process.env.VUE_APP_ZEROAPI_BASEURL,
  33. ws: true,
  34. pathRewrite: {}
  35. },
  36. "/minio": {
  37. target: process.env.VUE_APP_ZEROAPI_BASEURL,
  38. changeOrigin: true,
  39. pathRewrite: {}
  40. }
  41. }
  42. },
  43. chainWebpack: config => {
  44. // 移除 prefetch 插件
  45. config.plugins.delete("preload");
  46. config.plugins.delete("prefetch");
  47. config.resolve.alias.set("vue-i18n", "vue-i18n/dist/vue-i18n.cjs.js");
  48. config.plugin("unplugin-auto-import").use(
  49. require("unplugin-auto-import/webpack").default({
  50. include: [
  51. /\.[tj]sx?$/,
  52. /\.vue$/,
  53. /\.vue\?vue/,
  54. /\.md$/
  55. ],
  56. imports: ["vue", "vue-router"],
  57. eslintrc: {
  58. enabled: true,
  59. filepath: "./.eslintrc-auto-import.json",
  60. globalsPropValue: true
  61. },
  62. resolvers: [
  63. require("unplugin-vue-components/resolvers").ElementPlusResolver()
  64. ]
  65. })
  66. )
  67. config.plugin("unplugin-vue-components").use(
  68. require("unplugin-vue-components/webpack")({
  69. dirs: ["src/components/"],
  70. include: [/\.vue$/, /\.vue\?vue/, /\.md$/],
  71. resolvers: [
  72. require("unplugin-vue-components/resolvers").ElementPlusResolver()
  73. ]
  74. })
  75. )
  76. },
  77. configureWebpack: {
  78. //性能提示
  79. performance: {
  80. hints: false
  81. },
  82. optimization: {
  83. splitChunks: {
  84. chunks: "all",
  85. automaticNameDelimiter: "~",
  86. name: "scuiChunks",
  87. cacheGroups: {
  88. //第三方库抽离
  89. vendor: {
  90. name: "modules",
  91. test: /[\\/]node_modules[\\/]/,
  92. priority: -10
  93. },
  94. elicons: {
  95. name: "elicons",
  96. test: /[\\/]node_modules[\\/]@element-plus[\\/]icons-vue[\\/]/
  97. },
  98. echarts: {
  99. name: "echarts",
  100. test: /[\\/]node_modules[\\/]echarts[\\/]/
  101. },
  102. codemirror: {
  103. name: "codemirror",
  104. test: /[\\/]node_modules[\\/]codemirror[\\/]/
  105. }
  106. }
  107. }
  108. }
  109. }
  110. })