| | |
| | | "use strict"; |
| | | const path = require("path"); |
| | | const defaultSettings = require("./src/settings.js"); |
| | | // 代理目标地址(后端服务),例如: http://172.17.0.1:8080 |
| | | // 启动时可通过环境变量覆盖:VUE_APP_PROXY_TARGET=... |
| | | const baseUrl = process.env.VUE_APP_PROXY_TARGET || "http://1.15.17.182:9031"; |
| | | |
| | | function resolve(dir) { |
| | | return path.join(__dirname, dir); |
| | |
| | | // For example, Mac: sudo npm run |
| | | // You can change the port by the following method: |
| | | // port = 9527 npm run dev OR npm run dev --port = 9527 |
| | | const port = process.env.port || process.env.npm_config_port || 9527; // dev port |
| | | // 固定开发服务端口:确保外部可访问 `1.15.17.182:9031` |
| | | const port = 9001; // dev port |
| | | |
| | | // All configuration item explanations can be find in https://cli.vuejs.org/config/ |
| | | module.exports = { |
| | |
| | | "@babel", |
| | | "resize-detector", |
| | | ], |
| | | publicPath: "/", |
| | | // 部署到子路径时需要改 publicPath,否则静态资源会从域名根目录 `/static/...` 获取失败 |
| | | // 例如部署到 `http://host/car-before/`,则打包时设置 VUE_APP_PUBLIC_PATH=/car-before/ |
| | | publicPath: process.env.VUE_APP_PUBLIC_PATH || "/", |
| | | outputDir: "dist", |
| | | assetsDir: "static", |
| | | lintOnSave: process.env.NODE_ENV === "development", |
| | | // 在部分环境下 eslint-loader 会因配置解析失败直接导致构建中断 |
| | | // 这里先关闭,确保项目可以正常运行;你后续再补齐 eslint 规则即可。 |
| | | lintOnSave: false, |
| | | productionSourceMap: false, |
| | | devServer: { |
| | | // 让外部(例如 172.17.0.1)能访问开发服务 |
| | | port: port, |
| | | open: true, |
| | | open: false, |
| | | overlay: { |
| | | warnings: false, |
| | | errors: true, |
| | | }, |
| | | |
| | | // 本地代理:对比 Vite 的 proxy 配置思路,使用 vue-cli 的 proxy |
| | | // 由于本项目接口主要以 /api 开头,这里同时代理 /api 与 /dev-api。 |
| | | proxy: { |
| | | // 项目实际请求一般是 /api/...,这里直接转发并保持 /api 前缀不变 |
| | | "^/api": { |
| | | target: baseUrl, |
| | | changeOrigin: true, |
| | | }, |
| | | }, |
| | | }, |
| | | |
| | | |
| | | configureWebpack: { |
| | | // provide the app's title in webpack's name field, so that |
| | | // it can be accessed in index.html to inject the correct title. |
| | |
| | | config.plugins.delete("prefetch"); // TODO: need test |
| | | |
| | | // set svg-sprite-loader |
| | | config.module.rule("svg").exclude.add(resolve("src/icons")).end(); |
| | | config.module |
| | | .rule("svg") |
| | | .exclude.add(resolve("src/icons")) |
| | | .end(); |
| | | config.module |
| | | .rule("icons") |
| | | .test(/\.svg$/) |