提供“--isolatedModules”标志时无法编译命名空间
Posted
技术标签:
【中文标题】提供“--isolatedModules”标志时无法编译命名空间【英文标题】:Cannot compile namespaces when the '--isolatedModules' flag is provided 【发布时间】:2016-03-02 19:36:23 【问题描述】:我正在使用urigo:angular2-meteor。当我在服务器文件夹中添加一个空的 main.ts 时,它总是显示:
当 '--isolatedModules' 标志为 提供。
即使我在 main.ts 顶部添加了以下代码,它仍然显示相同的内容。
/// <reference path="../typings/angular2-meteor.d.ts" />
【问题讨论】:
【参考方案1】:我在 react + ts 中遇到了类似的问题。我已经注释掉了我所有的代码。
结果 无法使用“--isolatedModules”编译全局文件。确保您的文件包含导入、导出或“导出”语句。
所以,添加了类似的内容:
export const foo = 'foo';
或
export
这是一个临时解决方案,否则您可以删除带有注释代码的文件或更新 tsconfig.json
【讨论】:
就我而言,我只是准备了一些空文件以备存根。 以及在tsconfig.json
文件中更新什么?
@PardeepJain 接受的答案就是这样
可以不导出任何东西:在文件末尾添加“export ”【参考方案2】:
这个错误主要发生在使用 React + TypeScript 时 最简单的解决方案是在创建类之前添加“export”关键字,或者在最后使用
导出类导出默认类名;
【讨论】:
【参考方案3】:当文件未导入任何其他文件时,我收到此错误。 将其导入任何其他文件(import from "/the-filename-having-compilation-error"),消除了这个错误。
【讨论】:
【参考方案4】:如果您安装了 eslint,请检查 .eslintrc.json 文件中的规则部分是否有任何矛盾的操作。如果您执行的操作违反了定义的规则,则会出现错误。
【讨论】:
【参考方案5】:我遇到了同样的问题。我是一个组件,从不使用它。当我在我的一个页面中导入该组件并使用它并再次重新运行项目时,错误消失了。
【讨论】:
【参考方案6】:我遇到了同样的问题,我将tsconfig.json
添加到我的项目的根目录中。
"compilerOptions":
"isolatedModules": false
我没有时间深入研究,但它解决了问题。
【讨论】:
如果您有不使用的组件,如果您关闭它,您将不会收到警报......这取决于您!以上是关于提供“--isolatedModules”标志时无法编译命名空间的主要内容,如果未能解决你的问题,请参考以下文章
为啥 TypeScript compilerOptions 'noEmitOnError: true' 和 'isolatedModules: false' 不兼容?
将 --isolatedModules 与 TS 3.2.2 一起使用时无法重新导出类型
使用 Create React App 和 TypeScript 进行 Jest 测试时的 isolatedModules 错误?