TypeScript AMD模块名称指令重写CommonJS require's,

hlswsv35  于 4个月前  发布在  TypeScript
关注(0)|答案(4)|浏览(52)

TypeScript版本: 3.2.1
搜索词: AMD,指令
代码:https://github.com/ahawkins/typescript-amd-bug。运行npm test以查看失败的构建。
预期行为: 在构建CommonJS模块时,AMD module-names不应更改requires。
实际行为: CommonJS模块的requires被重写以使用AMD模块名称。如果我从示例代码中删除AMD指令,那么事情将按预期工作。
相关问题: 不确定。

0aydgbwb

0aydgbwb1#

我认为这可能与export * from './foo'方法有关。使用显式导出不会产生相同的问题。
编辑:我撒谎了。似乎是AMD模块名称指令的存在。除了移除指令之外,没有其他组合会改变结果。

9avjhtql

9avjhtql2#

@ahawkins can you post a small snippet to give an understanding of the issue? This helps us be able to identify if this issue is a duplicate of another, find it in search results, etc

csbfibhn

csbfibhn3#

@RyanCavanaugh 代码不适合放在代码片段中,所以我提供了一个示例仓库:https://github.com/ahawkins/typescript-amd-bug

eaf3rand

eaf3rand4#

有什么解决方法吗?我需要为AMD和CommonJS编译一个库,我需要为AMD设置模块名称,但是如果我为CommonJS编译,双斜杠指令应该被忽略。实际上,如果我在代码中放入**// <amd-module name=**,它会破坏CommonJS构建,因为它会重写所有的requires。

相关问题