【问题标题】:Cannot use typescript class from other local typescript module using browserify无法使用 browserify 使用来自其他本地打字稿模块的打字稿类
【发布时间】:2018-03-13 21:16:22
【问题描述】:

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

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

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

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

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

npm version: 5.6.0 node version: v9.5.0

【问题讨论】:

    标签: javascript typescript npm browserify tsify


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-10
      • 1970-01-01
      • 1970-01-01
      • 2016-04-12
      • 2023-03-29
      • 2021-07-02
      • 2013-08-27
      • 2012-09-27
      相关资源
      最近更新 更多