打字稿RequireJS导入文件

时间:2018-02-20 04:18:04

标签: typescript requirejs

我有一个关于RequireJS的基本问题。

目前,我将我的Typescript文件生成为单个outfile JS文件。如果我开始使用RequireJS,这是否意味着这个单个JS文件将被删除?

我的理解是RequireJS在运行时加载JS文件引用。这是对的吗?

1 个答案:

答案 0 :(得分:1)

  

如果我开始使用RequireJS,这是否意味着这个单个JS文件将被删除?

完全没有。您仍然可以将所有内容输出到单个文件中。如果你告诉TypeScript生成AMD模块并让它生成多个文件,你最终会在文件和AMD模块之间建立一对一的关系:每个文件只包含一个AMD模块,每个AMD模块只包含一个文件。如果告诉TypeScript生成单个文件,最终会得到一组AMD模块:单个文件包含多个模块。

在我使用AMD的所有项目中,我让TypeScript生成单个文件,然后使用r.js(RequireJS自己的优化器)或Webpack处理结果。我想虽然可能有些项目允许TypeScript本身生成捆绑包是一个可行的选择。这真的取决于项目。

  

我的理解是RequireJS在运行时加载JS文件引用。这是对的吗?

这是事实,但它并不确定您应该如何在运行时组织项目。通常,项目将具有一组根本不会运行的模块,除非它们全部加载在一起,并且这些模块应该被组成一个包,以便在单个请求中加载它们而不必发出十几个请求到服务器。最终,您需要以对项目有意义的方式捆绑模块。