Angular ng build是否也照顾库依赖项?

时间:2019-02-15 14:14:03

标签: angular

我想构建一个Angular项目并将其部署在Tomcat服务器上。

我的疑问是,如果我使用ng build来构建项目,是否只需将文件添加到dist目录中就足以部署项目了?

我主要担心的是,如果我添加了任何第三方库,是否也可以在最终版本中对其进行解析?

还可以使用AoT编译获得相同的结果吗?

1 个答案:

答案 0 :(得分:4)

除了“ dist”的内容外,您不需要其他任何东西。

使用NPM(节点程序包管理器)安装的任何第三方依赖项都将包含在构建中。在index.html文件中导入的所有依赖项都不会捆绑在您的版本中。我将确保index.html没有作为NPM软件包提供的第三方引用。如果它们不可用,则必须在生产环境中手动使这些依赖关系可用。

Ng构建使用AOT,如果发现任何错误,这将阻止构建,并为您提供详细的错误描述。

作为一个补充说明,“ ng build”将在每次构建时使用哈希,从而为每个构建文件赋予唯一的文件名(例如“ main.a16297a1c00ff481ec60.js”)。这可以防止浏览器缓存以后与您可能部署的其他内部版本和更新冲突的文件,从而为您的用户提供帮助,因为如果浏览器的缓存中已经具有相同的文件名,则该浏览器不会提取更新的文件。如果要禁用散列以具有可以直接引用的一致名称,请使用此标志进行构建:(“ ng build --prod --output-hashing none”)。