gpt4 book ai didi

node.js - Angular2部署到生产环境问题

转载 作者:太空狗 更新时间:2023-10-29 19:31:16 24 4
gpt4 key购买 nike

angular2 web项目到生产环境的一些问题

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

最佳答案

以下是对您问题的一些回答:

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

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

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

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

  4. 关于 prod 模式,这里是文档的摘录:

    Disable Angular's development mode, which turns off assertions and other checks within the framework.

    One important assertion this disables verifies that a change detection pass does not result in additional changes to any bindings (also known as unidirectional data flow).

关于node.js - Angular2部署到生产环境问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36452368/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com