从 node_modules in Angular 2 为托管应用程序加载依赖项

Loading dependencies from node_modules in Angular 2 for hosted apps

我想从新的 Angular 2 开始,但我无法理解官方(和其他几个)教程中如何使用 npm。对我来说,node_modules 目录主要用于开发,但在 index.html 中,所需的脚本文件主要包含在这个位置:

<script src="node_modules/systemjs/dist/system.src.js"></script>

在您自己的机器上托管该应用程序时,似乎没有问题,因为 npm install 一切都会存在。但是如果我想在其他地方托管我的应用程序(例如作为 Github 页面)我通常没有 node_modules 因为它会被排除在 .gitignore.

一种方法是通过一些 CDN 加载依赖项,但是有更好的解决方案吗?

如您所知,node_modules 主要用于开发目的,您在托管代码时不需要在存储库中使用它们。

您可以在此处遵循两种方法。

  1. 按原样部署。仅此而已 - no minification, concatenation, name mangling etc.copy all your node_modules,Transpile all your ts project, copy all your resulting js/css/... to the hosting server 然后您就可以托管您的应用了。
  2. 第二种方法是推荐的 one.Deploy 使用特殊的捆绑工具。喜欢 webpack or systemjs builder。基本上,这些构建器会打包您的应用程序,您只需将该捆绑包部署在服务器上即可。

为了更多参考,我提供了示例应用程序的链接:

  1. Webpack Starter

  2. SystemJS builder

锄这有帮助。