繁体   English   中英

什么是AngularJS中的node_modules目录?

[英]What is node_modules directory in AngularJS?

我正在探索AngularJS教程项目,发现它里面有node_modules目录,大小如果是60兆字节。

简单的客户端javascript项目真的需要如此庞大的未知数据语料库吗?

我试图删除此目录,项目仍然有效。 我怀疑它与node.js什么关系,它是npm但是怎么样? 假设我需要在一些传统的Web服务器(而不是node.js)上运行我的项目,那么如何知道哪些文件/目录是不需要的?

许多JavaScript库需要使用bower来安装它们。 如果我使用bower,这是否意味着我需要保留node_modules

node_modules目录仅适用于构建工具

应用程序根目录中的package.json文件定义了运行npm install时将在node_modules npm install

通常使用角度应用程序,在您的开发机器或构建服务器上,您使用来自npm(node.js包管理器)的其他Javascript库来构建您的角度应用程序。 任务可以使用CSS预处理器(如LESS或SASS),缩小,替换值等来连接资源。管理和运行这些任务的最常用工具称为gruntgulp ,它们也通过npm安装。

部署应用程序时,只分发生成的构建,而不是任何源文件或构建工具。

当然可以在不构建任何内容的情况下编写AngularJS应用程序。

从评论中编辑:当您深入了解Angular时,即使在客户端应用程序中也有更多使用npm安装库的高级技术,然后您可以选择性地选择所需的库,而不是整个50MB +。 我建议保持基本方法,直到你掌握它们为止。

NPM是节点包管理器,它将包本地安装到项目中,特别是安装到node_modules文件夹中。 从那里包装代码可以包含在项目中,是的, 可以是那里的重要单词。

浏览器无法在代码中包含模块(因此),因此您需要使用可以公开节点的commonJS样式模块的库。 Browserify和Webpack是两种流行的方法。

Angular通过引入自己的模块系统使其复杂化,模块系统更类似于AMD风格的模块。 有很多方法,所以你可以使用节点式模块,也许你的项目使用这些模块。

使用npm来管理依赖关系是个好主意,它是一个出色的包管理器。 在您的情况下,可能的情况是项目仅使用node构建,而node_modules文件夹包含仅与构建相关的依赖项。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM