如何使用“require”导入命名空间
How to import a namespace with using 'require'?
在我正在处理的一些代码中,我混合了Coffeescript,Javascript和Typescript文件。
在我的打字稿文件中,我使用
/// <reference path="foo.d.ts" />
import {FooA, FooB} from "foo";
var a:FooA = new FooA() // etc...
这导致了 Javascript
var foo_1 = require("foo");
var a = new foo_1.FooA();
这很好。但是,我的工作流程是这样的,我不使用模块系统。所有非JS文件都由Grunt处理并编译为JS,然后捆绑在一起。
理想情况下,我希望我的打字稿编译为
var a = new FooA();
因为我可以保证它们将在全局命名空间中。我该怎么做?
理想情况下,我希望我的打字稿编译为...因为我可以保证它们将在全局命名空间中。我该怎么做?
我相信你知道global
不好,容易受到微妙的排序问题的影响(不仅仅是名称冲突):一些注意事项
可是。一旦您拥有根级别import
或export
,文件就会成为模块(某些文档)。
所以:
/// <reference path="foo.d.ts" />
import {FooA, FooB} from "foo";
var a:FooA = new FooA() // etc...
应该是这样的:
/// <reference path="foo.d.ts" />
var a:FooA = new FooA() // etc...
即 FooA
应该在全球范围内提供。您需要查看您的foo.d.ts
。这将有助于: https://basarat.gitbooks.io/typescript/content/docs/types/migrating.html
相关文章:
- 在javascript中使用命名空间
- 为什么不推荐使用“with”?是否有更好或其他方法可以“下降”到对象的命名空间
- javascript中的命名空间,IDE中支持代码完成/内容辅助's
- 如何使用javascript命名空间
- js命名空间和变量范围
- html,js-如何限制元素"范围“-命名空间
- 转换自的JavaScript命名空间
- 命名空间与自调用函数
- 如何使用“require”导入命名空间
- 将模块导入命名空间类
- 在导入之前/期间/之后更改 DOM 节点的命名空间
- node.js中的命名空间导入
- 使用eval导入javascript中的命名空间
- Typescript 1.6命名空间和导入类(commonJS)
- 在eval()中导入Math命名空间
- 如何有选择地导入ES2015模块函数,但要使用命名空间
- 无法验证对导入命名空间的计算引用
- 如何在Typescript项目中正确导入命名空间
- 如何在JavaScript中将lodash直接导入到自定义命名空间中
- 导入命名空间,以便不使用前缀