为什么创建的工程那么重?!

来源:2-3 搭建环境

edgex

2017-04-04

用指令

ng new project

创建的工程,大概有140M那么大。我看了下其中node_modules中文件依赖包很多,大概有707个文件夹。


所以有几个问题:

  1. 每次创建项目的话,都要下载这么多东西吗?

  2. 为什么要有这么多依赖包?难道都是angular依赖的么?

  3. 如果都是依赖的,那项目运行的时候,这些依赖包都要加载一遍吗?

  4. 工程上线的时候需要把这些文件都上传到服务器吗?为什么?

写回答

3回答

traveler过客

2017-04-04

1、每次创建项目的话,都要下载这么多东西吗?

答:每次创建的项目的时候,需要进行依赖包的安装,这也是必要的一步,但可以采用猥琐的方式(将以前新建的项目下载好的依赖包,复制到当前项目下,实测可以)


2、为什么要有这么多依赖包?难道都是angular依赖的么?

答:个人的见解是这些包使得项目代码保存就可以重新自动刷新等一系列的小功能,当前这只是我的猜想,可能还有更加牛逼的事情我不知道的


3、如果都是依赖的,那项目运行的时候,这些依赖包都要加载一遍吗?

答:一般的话是需要加载一遍,但是可以使用ng server --prod --aot  等使得项目加载的包减少


4、工程上线的时候需要把这些文件都上传到服务器吗?为什么?

答:项目上线的时候,建议使用ng build --prod --aot 进行打包 ,会在项目下生成dist文件夹,其中好处可以百度或谷歌自行搜索

1
1
edgex
非常感谢!
2017-04-06
共1条回复

JoJo

2017-04-05

  1. 每次都要下载。

  2. 是的

  3. 开发环境项目运行前会构建项目,筛选依赖并打包成一个文件,然后访问这个打包好的文件

  4. 不需要,生产环境要通过ng build命令来筛选依赖并打包成一个文件,然后上传这个文件就可以了

1
2
Timm_Lee
创建项目时,npm下载所谓的120MB依赖实在太慢了。 JoJo老师有可能这样吗? 我们通过 ng new project --skip-install 安装。 然后安装过依赖包的同学百度盘共享下,我们下载来拷贝到相应位置就可以了。
2017-04-20
共2条回复

Mishy

2017-04-04

1、首次创建项目就会下载很多东西,因为这些东西都是放在npm上面的,一个依赖一个递归下去...就多了

2、同上

3、是的,所以每次ng start时慢的要死,随着工程越大越慢……

4、项目在生产环节中,通过ng build命令来打包这些需要的文件成JS文件,有可能JS文件会变成好几M(可以压缩),build会生成dist目录,把里面内容丢进服务器,就上线了,上线和node_modules无关,而且不管是ng还是vue你直接把开发的这些目录丢进去服务器识别不了的

1
1
edgex
谢谢,你回答的也对,但是选了另外一个同学的回答。
2017-04-06
共1条回复

Angular4.0从入门到实战 打造股票管理网站

Angular新特性,教你熟练使用 Angular 和 Typescript 开发组件式单页应用

2683 学习 · 1361 问题

查看课程