当你在运行npm start时遇到崩溃,原因是你使用了新的ES6模块,而你的setupProxy.js文件中使用了require()来加载ES模块。错误提示你需要使用import来加载ES模块,或者将setupProxy.js文件重命名为以.cjs结尾的文件,或者从C:\Users\d\projects\v\package.json中删除"type": "module"。
你可以尝试以下方法解决问题:
- 将setupProxy.js文件重命名为proxy.js。
- 修改proxy.js中的代码,使用import()替换require()。
- 在C:\Users\d\projects\v\package.json中删除"type": "module"。
修改后的proxy.js文件:
import { createRequire } from 'module';
const require = createRequire(import.meta.url);
const proxy = require('http-proxy-middleware');
const target = process.env.PROXY_TARGET;
if (!target) {
throw new Error('Please specify the proxy target in your environment variables.');
}
export default (app) => {
app.use(
'/api/v1',
proxy({
target,
changeOrigin: true,
secure: false,
}),
);
};
6条答案
按热度按时间68de4m5k1#
+1
7kjnsjlb2#
我创建了一个新项目,并成功地复制了这个错误。你可以克隆它并尝试。
y0u0uwnf3#
这个问题已经被自动标记为过时,因为它没有任何最近的活动。如果没有发生任何进一步的活动,它将在5天后被关闭。
z18hc3ub4#
嘿,大家有解决这个问题的窍门吗?
wgx48brx5#
太酷了,两年过去了,仍然没有解决方案。
cwdobuhd6#
这个问题已经被自动标记为过时,因为它没有任何最近的活动。如果没有发生任何进一步的活动,它将在5天后被关闭。