从 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
主要用于开发目的,您在托管代码时不需要在存储库中使用它们。
您可以在此处遵循两种方法。
- 按原样部署。仅此而已 -
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
然后您就可以托管您的应用了。
- 第二种方法是推荐的 one.Deploy 使用特殊的捆绑工具。喜欢
webpack or systemjs builder
。基本上,这些构建器会打包您的应用程序,您只需将该捆绑包部署在服务器上即可。
为了更多参考,我提供了示例应用程序的链接:
锄这有帮助。
我想从新的 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
主要用于开发目的,您在托管代码时不需要在存储库中使用它们。
您可以在此处遵循两种方法。
- 按原样部署。仅此而已 -
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
然后您就可以托管您的应用了。 - 第二种方法是推荐的 one.Deploy 使用特殊的捆绑工具。喜欢
webpack or systemjs builder
。基本上,这些构建器会打包您的应用程序,您只需将该捆绑包部署在服务器上即可。
为了更多参考,我提供了示例应用程序的链接:
锄这有帮助。