vite.config.js配置完全不生效,启动后端口、代理均未按配置运行
所有配置修改后都需要终止当前运行的dev服务,重新执行npm run dev才会生效,你可以按照以下步骤逐一排查:
- 确认配置文件位置
检查vite.config.js是否和package.json存放在项目根目录的同一层级,不要放在src或其他子文件夹中。 - 排查高优先级配置覆盖
- 检查是否存在同名的
vite.config.ts文件,vite会优先读取ts后缀的配置文件,导致js配置失效 - 查看项目根目录下的
.env、.env.development等环境变量文件,是否配置了VITE_PORT等参数覆盖了配置文件的端口设置 - 确认执行
npm run dev时没有额外携带--port 3000这类命令行参数,命令行参数的优先级高于配置文件
- 检查是否存在同名的
- 修正模块导出规范
如果你的package.json顶层没有配置"type": "module",项目默认使用CommonJS模块规范,你当前使用的ESModule导出写法export default会失效,需要修改配置文件为如下写法:
如果你想保留原来的ESModule写法,只需在package.json的顶层添加// vite.config.js module.exports = { root:'./', server: { host: '0.0.0.0', port: 8080, open: true, proxy: { '/dev': { target: 'http://localhost:6806', changeOrigin: true, // 如果后端接口没有/dev前缀,需要添加rewrite规则去掉前缀 rewrite: (path) => path.replace(/^\/dev/, '') } } } }"type": "module"即可。 - 避免全局vite版本冲突
如果你全局安装了vite,可能出现全局旧版本优先级高于项目本地依赖的问题,你可以先执行npm uninstall -g vite卸载全局vite,再把package.json的scripts修改为强制使用本地依赖:
修改完成后重新执行"scripts": { "dev": "npx vite", "build": "npx vite build" }npm run dev即可。
内容的提问来源于stack exchange,提问作者Crowds
相关产品推荐
相关产品推荐

