Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 项目太大_Node.js_Angular - Fatal编程技术网

Node.js 项目太大

Node.js 项目太大,node.js,angular,Node.js,Angular,我刚刚开始学习Angular,我在我的Ubuntu Linux中安装了: 角度CLI:7.1.4。和 节点:10.14.2 我的问题是,为什么一个项目太大?我的意思是一个简单的“helloworld”是334MB,我不知道为什么,有可能调整它的大小吗?或者删除任何不必要的文件夹?或者我的安装有问题吗?(我怎么能发现呢?) 更大的文件夹是node_modules,当我创建项目时,会生成很多文件夹 我在读关于“角度惰性加载”的书,但我是新手。。我还不完全清楚 这是文件夹空间: 请。。。我希望有人能

我刚刚开始学习Angular,我在我的Ubuntu Linux中安装了: 角度CLI:7.1.4。和 节点:10.14.2

我的问题是,为什么一个项目太大?我的意思是一个简单的“helloworld”是334MB,我不知道为什么,有可能调整它的大小吗?或者删除任何不必要的文件夹?或者我的安装有问题吗?(我怎么能发现呢?)

更大的文件夹是node_modules,当我创建项目时,会生成很多文件夹

我在读关于“角度惰性加载”的书,但我是新手。。我还不完全清楚

这是文件夹空间:

请。。。我希望有人能帮助我。。。
致以最诚挚的问候

您可能正在使用不需要的大型捆绑包,因此您可以将其拆分:

您可能正在使用不需要的大捆绑包,因此您可以将其拆分:

在现代JavaScript中,项目需要的模块本身需要的模块需要的模块。。。产生具有数百个依赖项的
节点\u模块
目录。可能包含100Kb库,因为有人需要其中的一个函数。JavaScript并没有编译,所以所有的源代码都相当大。这是一个不幸但不可避免的事实;你的Angular项目目录会很大,你对此无能为力。这是完全正常的

好的方面:现代JavaScript部署通常包括使用Webpack、Parcel或类似的代码绑定器打包这些库。它们中的大多数都是实现的,它分析代码,只找到从入口点开始就可能使用的功能,并且只捆绑这些功能,而忽略其余的功能。这意味着使用一个函数的100Kb库将转换为最终分发包中的一个函数


在这一点上,并不是所有的捆绑供应商都同样擅长。例如,Webpack不能树摇动CommonJS模块,只能摇动ES6模块。

在现代JavaScript中,项目需要的模块本身需要的模块需要的模块需要的模块。。。产生具有数百个依赖项的
节点\u模块
目录。可能包含100Kb库,因为有人需要其中的一个函数。JavaScript并没有编译,所以所有的源代码都相当大。这是一个不幸但不可避免的事实;你的Angular项目目录会很大,你对此无能为力。这是完全正常的

好的方面:现代JavaScript部署通常包括使用Webpack、Parcel或类似的代码绑定器打包这些库。它们中的大多数都是实现的,它分析代码,只找到从入口点开始就可能使用的功能,并且只捆绑这些功能,而忽略其余的功能。这意味着使用一个函数的100Kb库将转换为最终分发包中的一个函数


在这一点上,并不是所有的捆绑供应商都同样擅长。例如,Webpack不能对CommonJS模块进行树摇,只能对ES6模块进行树摇。

这些只是节点模块,它们是构建项目所需的,但不一定所有内部模块都将部署到生产中。正如Amadan所说,除了其他优化之外,还有一个树抖动的过程(只过滤使用过的模块),在生产中,您还使用相同JS代码的缩小版本(例如,缺少空格,缩短变量名)。对于hello world应用程序,生产优化角度项目不应超过100KB

在提供的图像中,我看到了如下包

  • selenium Web驱动程序
  • 量角器

这些属于dev依赖项(请参阅package.json文件),因为它们用于测试。为生产构建时,不应包含来自开发人员依赖项的代码。typescript包(在屏幕截图中大小为nr.2)也不会出现在产品中,因为像string这样的类型仅用于编写typescript代码,但浏览器接收Javascript,并编译成Javascript。

这些只是节点模块,它们是构建项目所需的,但它们内部的所有东西不一定都会部署到生产中。正如Amadan所说,除了其他优化之外,还有一个树抖动的过程(只过滤使用过的模块),在生产中,您还使用相同JS代码的缩小版本(例如,缺少空格,缩短变量名)。对于hello world应用程序,生产优化角度项目不应超过100KB

在提供的图像中,我看到了如下包

  • selenium Web驱动程序
  • 量角器

这些属于dev依赖项(请参阅package.json文件),因为它们用于测试。为生产构建时,不应包含来自开发人员依赖项的代码。typescript包(在您的屏幕截图中大小为nr.2)也不会出现在产品中,因为像string这样的类型仅用于编写typescript代码,但浏览器会接收Javascript,并将其编译成Javascript。

当您不打算使用应用程序时,可以删除node_modules文件夹。
而且,当您需要处理应用程序时,您可以使用以下命令重新生成节点模块:npm install

当您不打算使用应用程序时,您可以删除节点模块文件夹。 而且,当您需要处理应用程序时,可以使用命令npm install重新生成node_模块