[英]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),缩小,替换值等来连接资源。管理和运行这些任务的最常用工具称为grunt和gulp ,它们也通过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.