Angular2部署到生产环境问题

时间:2016-04-06 13:17:38

标签: node.js angular

将angular2 web项目置于生产环境的一些问题

  1. 我们在lite服务器上进行开发,但最适合生产的是什么?是nodejs的其他服务器模块吗?从技术上讲,我们可以拥有任何服务器(apache,tomcat等)。
  2. 我们应该如何为下面的上下文进行源代码管理。
    • 浏览器必须包含js个文件,因此项目在部署时应该有js文件
    • 在标准java项目中,我们只提交.java个文件并使用jenkins(可能是其他工具)来编译和构建可部署的结构
    • 我们应该遵循相同的策略吗?即不提交已编译的js文件并使用一些node编译器进行部署,该编译器将ts文件编译为js
  3. 缩小/混淆js文件的最佳方法是什么?
    • 我知道使用outDiroutFilegrump的方式,但我不希望每个文件都包含在一个缩小的文件中,因为它会杀死延迟加载的概念
    • 有没有办法在编译时缩小和混淆js文件?
  4. enableProdMode()做什么?与不使用它有何不同?

1 个答案:

答案 0 :(得分:1)

以下是您的问题的一些答案:

  1. Angular2应用程序只包含静态文件,因此可以由任何可以定义静态文件夹的静态Web服务器或服务器应用程序提供服务(Express,...)

  2. 关于源代码管理,您必须有一个打包阶段来优化应用程序加载(gater文件,uglify,...)。您的源代码必须包含TypeScript文件(如果使用ES5或ES6,则必须包含JS文件)。例如,可以使用Gulp进行这种包装。您的Jenkins服务器将能够签出源代码,构建它并执行测试。

  3. 实际上,当不使用TypeScript编译器的outFile属性时,您将无法将所有JS编译的文件收集到一个文件中,因为将在其中创建匿名模块每个JS文件。

    有关详细信息,请参阅此问题:

  4. 关于产品模式,以下是文档摘录:

      

    禁用Angular的开发模式,该模式会关闭框架内的断言和其他检查。

         

    此禁用的一个重要断言验证更改检测通过不会导致对任何绑定的其他更改(也称为单向数据流)。