0

我有一个包含 TypeScript 的通用 npm 模块,它是一个提供一些类和功能的节点模块。该模块通过browserify+打包tsify,还导出声明文件并使用 gulp 构建。

我有另一个使用 TypeScript 的 npm 模块,它通过本地导入这个模块file:../modulename并尝试使用第一个模块的功能。第二个模块也通过browserify+打包tsify并用gulp. 第二个模块的编译工作通过npx tsc,但如果我执行带有错误消息的 gulp 构建文件则失败

Error: Cannot find module './AbstractClass' from 'folderInOtherModuleContainingTheJSFiles'

有趣的是,有时这个类有时会失败,有时另一个类会失败,所以似乎还有某种并发处理。

我从我的项目中提取了失败的代码,并在此处创建了一个具有此行为的最小示例。

npm version: 5.6.0 node version: v9.5.0

4

1 回答 1

0

对于任何可能来到这篇文章并面临同样错误的人。

我也在 tsify 上打开了一个问题npx tsc,认为它与插件有关,因为有效。

幸运的是,尽管有解决方法,但问题已得到解决。似乎存在名称冲突,导致browserify认为require结果包中的调用(即变量)需要解决,但不能解决。解决方法是丑化生成的包,这样就不会发生冲突。上述链接问题中的更多详细信息。

于 2018-03-15T11:54:50.187 回答