混淆CommonJS模式、TypeScript模块和ES6的用法

混淆CommonJS模式、TypeScript模块和ES6的用法,typescript,ecmascript-6,commonjs,Typescript,Ecmascript 6,Commonjs,全部: 我想知道是否有人能给我一个简单的比较,从模块导入系统(如require()、导入“xx”、导出)、编译器(babel、tsc)以及如何在浏览器中使用(browserify还是什么?)的角度来比较CommonJS、Typescript和ES6之间的开发流程 有很多相似之处让我很困惑,尤其是当我需要混合它们的时候 谢谢这里有一个简单的方法来处理事情 使用ES6样式语法导入所有模块: import {SpecificBit} from './moduleName'; import * as E

全部:

我想知道是否有人能给我一个简单的比较,从模块导入系统(如require()、导入“xx”、导出)、编译器(babel、tsc)以及如何在浏览器中使用(browserify还是什么?)的角度来比较CommonJS、Typescript和ES6之间的开发流程

有很多相似之处让我很困惑,尤其是当我需要混合它们的时候


谢谢

这里有一个简单的方法来处理事情

使用ES6样式语法导入所有模块:

import {SpecificBit} from './moduleName';
import * as Everything from './otherModule';
在您编写的模块中,导出要公开的成员

export class SomeClass { //...

export class SomeOtherClass { //...
或将模块替换为成员

export = SomeClass;

现在,您的开发流程在任何地方都是一样的,因为TypeScript编译器将基于模块种类开关来传输您的代码,该开关允许您使用ES6(即无转换)、UMD(与AMD和CommonJS一起使用)、System(与SystemJS一起使用)、或者简单地AMD或CommonJS(尽管UMD使用相同的输出覆盖了这两种类型).

这一点太宽泛了,这里无法回答。这篇文章似乎有一个很好的解释。