与TypeScript共享客户端和服务器之间的模块



我想编写一个可以在node.js服务器和浏览器之间重复使用的便携式模块。

是模块化的东西阻止了我的ATM。我正在阅读http://caolanmcmahon.com/posts/writing_for_node_and_the_browser/,看起来很简单,但是让TSC生成类似的东西?

如果您在commonjs/amd样式中编写打字稿(即每个文件是一个模块),则可以要求编译器输出commonjs(对于nodejs server)和amd(对于浏览器,使用quirens.js)。

因此,您的模块文件看起来像这样(没有模块声明)

mymodule.ts

exports class MyClass {
    constructor (private id: number) {
    }
    // ... etc
}

您将使用以下编译器命令获取输出...

对于nodejs或浏览器(推荐)

tsc --module umd MyModule.ts

对于nodejs

tsc --module commonjs MyModule.ts

用于浏览器(使用requientes.js)

tsc --module amd MyModule.ts

编译输出的唯一区别是,服务器代码将使用COMPORJS导入语句加载模块,并且浏览器代码将调用。

最新更新