【问题标题】:Pros & Cons of using requirejs (-m amd) for typescript+angular projects在 typescript+angular 项目中使用 requirejs (-m amd) 的优缺点
【发布时间】:2015-08-29 15:32:51
【问题描述】:

对于使用 typescriptangular 1.x 项目,使用 AMD 的优缺点是什么? 意思是,使用参数-m amd 运行tsc 并使用requirejs,而不是简单地将/// <reference path="..." /> 用于内部模块并包装在module(s) 中。

哪个-

  1. angularjs 更有意义? (如果您认为在这种特殊情况下一个比另一个更好)。
  2. 是否更适合大型 Angular 应用?
  3. 在大型代码库的缩小+混淆方面会更好吗?

【问题讨论】:

  • 我认为使用 AMD 加载 Angular 模块没有任何意义,因为 Angular 1.X 不支持延迟加载模块。因此,当您引导您的角度时,您必须加载每个模块(无论是否使用 AMD!)。您可以使用 ocLazyLoad 库,但 ocLazyLoad 与 AMD 模块加载相结合会使您的代码库非常复杂!

标签: javascript angularjs typescript require amd


【解决方案1】:
  1. 对 angularjs 更有意义?

Angular1:--module amd Angular2 : --module system 这是 angularjs 团队内部使用的

  1. 是否更适合大型 Angular 应用?

是的。 --outreference cmets 是个坏主意。更多:https://github.com/TypeStrong/atom-typescript/blob/master/docs/out.md

  1. 在大型代码库的缩小+混淆方面会更好吗?

应该是一样的。主要优点是开发时的可读性和可维护性。

【讨论】:

  • 根据tsc命令,没有--module system这样的东西,我跑tsc --module system main.ts得到error TS6046: Argument for '--module' option must be 'commonjs' or 'amd'.
  • 您需要使用 最新 版本的 TypeScript。
  • 我使用的是 1.5.0-beta 版本,npm 中没有更新版本。
  • 谢谢,我会检查一下,但如果它只是在快照中,你确定它仍然适用于生产应用程序吗?另外,有没有提到角度团队对此的使用?我知道 angular2 使用 SystemJS,但它与 angular 1.x 不一样
  • 另外,我在谷歌搜索时没有在--module system 上找到任何关于打字稿的文档。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-19
  • 1970-01-01
  • 2018-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多