从Angular 2中的node_modules加载对托管应用程序的依赖关系

时间:2016-06-03 10:52:37

标签: npm angular node-modules

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

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

在您自己的计算机上托管应用程序时,似乎没有任何问题,因为npm install会显示所有内容。但是如果我想在其他地方托管我的应用程序(例如作为Github页面),我通常没有node_modules,因为它会被排除在.gitignore之外。

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

1 个答案:

答案 0 :(得分:3)

如您所知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. 第二种方法将是推荐的。使用特殊捆绑工具进行部署。与webpack or systemjs builder类似。基本上这些构建器将生成一个应用程序包,您可以在服务器上部署该捆绑包。
  3. 如需更多参考,我提供了示例应用程序的链接:

    1. Webpack Starter

    2. SystemJS builder

    3. 锄头有帮助。