TypeScript与ES6模块的最佳方法是什么?

Lui*_*spo 6 javascript build browserify typescript ecmascript-6

我正在开始一个新的Web项目并尝试使用TypeScript,主要是作为ES6转换器,还有类型检查的额外好处,特别是对于现有的库,例如jQuery和DefinitelyTyped类型定义.

从最新版本开始,TypeScript既支持自己的内部模块,也支持ES6模块,后者称为"外部"模块.因为ES6比TypeScript更标准,我的意图是使用ES6 /外部模块而不是传统/内部TypeScript模块.

我在几个文件/模块中定义了自己的代码,但我希望构建生成一个可以从浏览器加载的.js文件.

问题是,据我所知,TypeScript只能在使用自己的模块格式时生成单个输出文件.如果我尝试使用ES6外部模块,那么它会为每个.ts文件生成一个单独的.js文件.

这意味着我需要使用browserify连接它们,但我也想要源映射支持,这意味着我应该为输入和输出源映射配置browserify,然后将它与exorcist组合,以便从包中提取源映射.

这看起来像一个非常复杂的构建设置.是不是有一种更直接的方式,也许是TypeScript直接支持?什么是最好的方法?您有什么推荐的吗?

Bro*_*cco 6

让TypeScript做它最擅长的......

  • 将类型添加到JavaScript,即ES5/ES6/ES7
  • 透明到ES5
  • 通过指定的模块语法解析模块(commonjs,amd,umd,system)

然后找到另一个工具,它将采用单独的文件并将它们组合成一个捆绑的文件(按正确的顺序).我的建议是调查:

  • 的WebPack
  • browserify
  • tsify