Pal*_*leo 5 module typescript ecmascript-6
TypeScript 1.X允许开发人员使用内部模块作为命名空间.
module MyProject.MySubProject {
export class A {
}
export function f() {
var a1 = new A(); // valid
var a2 = new MySubProject.A(); // valid too
var a3 = new MyProject.MySubProject.A(); // valid too, again
}
}
MyProject.MySubProject.f();
var a4 = new MyProject.MySubProject.A(); // ... and valid
Run Code Online (Sandbox Code Playgroud)
当transpiled到ES5,该代码创建对象MyProject,其中包含一个对象MySubProject,它包含两个功能A和f.
从模块内部,可以使用相对名称(A,MySubProject.A)或全名(MyProject.MySubProject.A)设计类.从模块外部,导出的类与全名一起使用.
但ES6中不再存在嵌套模块.TypeScript 将与ES6模块对齐.
classes(MyModule1.MyModule2.MyClass)的全名是否与ES6兼容?
如果我们想以旧方式使用命名空间,我们可以在闭包或对象中声明ES6类吗?
以下是ES6方式中的类似代码:
//------ MyProject/MySubProject.js ------
export class A {
}
export function f() {
var a1 = new A(); // valid
}
//------ main.js ------
import { A, f } from 'MyProject/MySubProject';
f();
var a2 = new A();
Run Code Online (Sandbox Code Playgroud)
将两个JavaScript文件连接成一个缩小的文件后,如何操作import?
TypeScript 只会与 ES6 模块保持一致,作为基于. 这是基于 GitHub 上正在进行的工作。当前的内部模块与新语法不冲突,因此将继续按原样工作。 TypeScript external modules
| 归档时间: |
|
| 查看次数: |
641 次 |
| 最近记录: |