vue.config.js 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  1. const path = require("path");
  2. const TerserPlugin = require("terser-webpack-plugin");
  3. const CssMinimizerPlugin = require("css-minimizer-webpack-plugin");
  4. const WorkboxPlugin = require("workbox-webpack-plugin");
  5. const HappyPack = require("happypack");
  6. const webpack = require("webpack");
  7. // const HtmlWebpackPlugin = require("html-webpack-plugin");
  8. function resolve(dir) {
  9. return path.join(__dirname, dir);
  10. }
  11. module.exports = {
  12. chainWebpack(config) {
  13. config.module.rule("svg").exclude.add(resolve("src/icons")).end();
  14. config.module
  15. .rule("icons")
  16. .test(/\.svg$/)
  17. .include.add(resolve("src/icons"))
  18. .end()
  19. .use("svg-sprite-loader")
  20. .loader("svg-sprite-loader")
  21. .options({
  22. symbolId: "icon-[name]",
  23. })
  24. .end();
  25. config.plugin("happypack").use(HappyPack, [
  26. {
  27. loaders: ["babel-loader"],
  28. },
  29. ]);
  30. // config.plugin('dll').use(webpack.DllPlugin, [
  31. // {
  32. // name: '[name]_library',
  33. // path: path.join(__dirname, 'dll', '[name]-manifest.json'),
  34. // },
  35. // ]);
  36. config.plugin("workbox").use(WorkboxPlugin.GenerateSW, [
  37. {
  38. clientsClaim: true,
  39. skipWaiting: true,
  40. },
  41. ]);
  42. },
  43. css: {
  44. loaderOptions: {
  45. postcss: {
  46. postcssOptions: {
  47. plugins: [require("tailwindcss"), require("autoprefixer")],
  48. },
  49. },
  50. sass: {
  51. additionalData: `
  52. @import "@/styles/global.scss";
  53. `,
  54. },
  55. },
  56. },
  57. devServer: {
  58. // contentBase: path.join(__dirname, "public"),
  59. proxy: {
  60. "/api": {
  61. // target: "http://192.168.5.4:16200", // 石月
  62. // target: "http://192.168.50.235:16200", // 内网
  63. // target: "http://192.168.5.15:16200",
  64. target: "http://192.168.50.235:16500", //演示环境
  65. // target: "http://106.120.102.238:26500", //外网演示环境
  66. // target: "http://106.120.102.238:16700", // 外网16700 生产16600
  67. // target: "http://10.96.137.5",
  68. changeOrigin: true,
  69. pathRewrite: {
  70. "^/api": "", // 去掉 /api 前缀
  71. },
  72. },
  73. // 未知量 //振动、激光测距仪
  74. "/WZLapi": {
  75. // target: "http://192.168.50.241:9001", // WZLapi 目标地址
  76. target: "http://106.120.102.238:18080/WindTransDev", // WZLapi 外网目标地址
  77. changeOrigin: true,
  78. pathRewrite: {
  79. "^/WZLapi": "", // 去掉 /WZLapi 前缀
  80. },
  81. },
  82. "/ETLapi": {
  83. // target: "http://192.168.50.241:9001", // WZLapi 目标地址
  84. // target: "http://192.168.5.11:8001", // WZLapi 目标地址
  85. // target: "http://106.120.102.238:18080/ImportDataDev", //导数工具
  86. // target: "http://106.120.102.238:18080/WindTransDev", //WTL外网目标地址
  87. target: "http://106.120.102.238:28999/transDataWeb", //WTL演示环境
  88. // target: "http://192.168.50.235:8999/transDataWeb", //WTL演示环境
  89. changeOrigin: true,
  90. pathRewrite: {
  91. "^/ETLapi": "", // 去掉 /WZLapi 前缀
  92. },
  93. onProxyReq(proxyReq, req, res) {
  94. console.log("Proxying /sAlgorithm request to:", proxyReq.path); // 打印代理请求路径
  95. },
  96. },
  97. // 文佳
  98. "/WJapi": {
  99. // target: "http://192.168.50.235:8888", // WZLapi 内网 目标地址
  100. target: "http://106.120.102.238:18888", // WZLapi/ 内网 目标地址
  101. changeOrigin: true,
  102. pathRewrite: {
  103. "^/WJapi": "", // 去掉 /WZLapi 前缀
  104. },
  105. onProxyReq(proxyReq, req, res) {
  106. console.log("Proxying /sAlgorithm request to:", proxyReq.path); // 打印代理请求路径
  107. },
  108. },
  109. // 王娇娇健康评估
  110. "/WJJhealth": {
  111. target: "http://106.120.102.238:28999/WJJhealth/api/health", // WZLapi/ 内网 目标地址
  112. changeOrigin: true,
  113. pathRewrite: {
  114. "^/WJJhealth": "", // 去掉 /WZLapi 前缀
  115. },
  116. },
  117. // 故障诊断
  118. "/WJJdiag": {
  119. target: "http://106.120.102.238:28999/WJJdiag", // WZLapi/ 内网 目标地址
  120. changeOrigin: true,
  121. pathRewrite: {
  122. "^/WJJdiag": "", // 去掉 /WZLapi 前缀
  123. },
  124. },
  125. // 数据转换亮亮
  126. "/transDataWeb": {
  127. // target: "http://192.168.50.241:9000/trans_data_web",//生产
  128. target: "http://192.168.50.235/transDataWeb", //测试
  129. // target: "http://192.168.50.235:8999/transDataWeb", //测试
  130. changeOrigin: true,
  131. pathRewrite: {
  132. "^/transDataWeb": "", // 去掉 /transDataWeb 前缀
  133. },
  134. },
  135. //自定义算法文佳
  136. "/sAlgorithm": {
  137. // target: "http://192.168.50.235:8666", // 目标地址
  138. target: "http://106.120.102.238:58880", //这个代理会走两次代理转发
  139. changeOrigin: true,
  140. pathRewrite: {
  141. "^/sAlgorithm": "", // 如果后端需要 `/api` 前缀
  142. },
  143. },
  144. //nodejs 数据库数据
  145. "/databaseApi": {
  146. // target: "http://192.168.50.234:3002",
  147. target: "http://106.120.102.238:58880", //这个代理会走两次代理转发
  148. changeOrigin: true,
  149. pathRewrite: {
  150. "^/databaseApi": "", // 去掉 /databaseApi 前缀
  151. },
  152. },
  153. //nodejs 数据库数据
  154. "/downLoadChart": {
  155. // target: "http://127.0.0.1:3000",
  156. target: "http://192.168.50.235:8999/downLoadChart", //内网演示
  157. // target: "http://106.120.102.238:28999/downLoadChart", //外网演示
  158. changeOrigin: true,
  159. pathRewrite: {
  160. "^/downLoadChart": "", // 去掉 /downLoadChart 前缀
  161. },
  162. },
  163. },
  164. },
  165. configureWebpack: {
  166. resolve: {
  167. alias: {
  168. "@": resolve("src"),
  169. },
  170. },
  171. optimization: {
  172. usedExports: true,
  173. splitChunks: {
  174. chunks: "all",
  175. },
  176. minimize: true,
  177. minimizer: [new TerserPlugin(), new CssMinimizerPlugin()],
  178. },
  179. // plugins: [
  180. // new HtmlWebpackPlugin({
  181. // filename: "custom-filename.html", // 自定义输出的 HTML 文件名
  182. // title: "风机运行管理系统", // 设置页面的标题
  183. // // 其他配置...
  184. // }),
  185. // // 其他插件...
  186. // ],
  187. },
  188. pluginOptions: {
  189. "style-resources-loader": {
  190. preProcessor: "sass",
  191. patterns: [],
  192. },
  193. },
  194. configureWebpack: {
  195. devtool: "source-map",
  196. },
  197. };