是否可以在同一个Typescript项目中混合使用AMD和CommonJS模块

Sla*_*wek 10 amd commonjs node.js typescript durandal

我正在尝试使用Typescript将Durandal与node.js服务器集成,以便在服务器端和客户端上定义模块.

我遇到的问题是Durandal强烈依赖于RequireJS和AMD风格的定义模块,我不想在服务器端引入,因为它使用RequireJS我没有任何机会运行CommonJS-ish模块在客户端上(node.js的默认值).

棺材中的最后一个问题是,我发现没有办法定义哪些文件应该编译为AMD模块,哪个文件作为CommonJS由tsc编写 - 这似乎是最简单的解决方案.

我不认为分离客户端部分和服务器部分是一种选择,因为很多代码对于这两个部分都是通用的.

所以,我的问题有三个:

  • 有没有办法在相同的Typescript项目中混合AMD和CommonJS模块(最好使用NodejsTools)

  • 如果没有,有没有办法强迫Durandal使用CommonJS文件来加载视图/视图模型等等

  • 如果这一切都不可能,那么在node.js服务器上使用AMD模块是可能的(也是明智的)

任何想法都受到高度赞赏