0

我正在实施一个反应项目,并在以编程方式从 vscode 扩展运行“npm run build”期间出错。

错误信息是

./node_modules/@azure/core-rest-pipeline/dist-esm/src/policies/tracingPolicy.js
Attempted import error: 'isSpanContextValid' is not exported from '@azure/core-tracing'.

然后我发现在我的 package-lock.json 中,我们有多个版本的“@azure/core-tracing”,因为 lib 嵌套依赖于多个部门。所以我猜 webpack(v4.44.2) 在解析“@azure/core-rest-pipeline”的依赖项时发现了错误的模块版本

但是,当我从终端运行“npm run build”时,它并没有失败。于是后来对比了两个进程的env,发现cwd从vscode扩展名开始的进程有小写的盘符,即"c:\\xxxxx". 但是从终端启动的cwd驱动器号是大写的,即"C:\\xxxxx". 所以我在vscode扩展中更改了我的代码以强制驱动器号变为大写,然后故障消失了。

确认故障的根本原因。我试图找到很多旧的相关问题,但没有一个符合这种行为。通过阅读 webpack 源代码对我来说也有点难以理解。

谁能帮我理解失败?为什么Windows驱动器号会导致错误的模块解析?

4

0 回答 0