不能使用浏览器使用其他本地打字稿模块中的打字稿类



我有一个包含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

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

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

幸运的是,问题已经解决,尽管有解决方法。似乎存在名称冲突,导致browserify认为生成的捆绑包中的require调用(变量(需要解析,但无法解析。解决方法是丑化生成的捆绑包,以免发生冲突。更多详情见上述链接问题。

相关内容

  • 没有找到相关文章

最新更新