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
中安装哪些库。
对于angular应用程序,通常在开发机器或构建服务器上,您会使用npm(node.js包管理器)中的其他Javascript库来构建angular应用。任务可以是串联资源,使用LESS或SASS等CSS预处理器,缩小、替换值等。管理和运行这些任务的最常见工具称为grunt和gulp,它们也通过npm安装。
部署应用程序时,只分发生成的构建,而不分发任何源文件或构建工具。
当然,在不构建任何东西的情况下编写AngularJS应用程序是可能的。
从评论中编辑:当你深入研究Angular时,甚至在客户端应用程序中,也有使用npm安装的库的更先进的技术,然后你可以选择性地选择你需要的库,而不是整个50MB+的东西。不过,我建议你坚持基本的方法,直到你很好地掌握它们。
NPM是节点包管理器,它将包本地安装到项目中,特别是node_modules
文件夹中。从那里,包代码可以包含在项目中,是的,can是其中的重要单词。
浏览器还没有办法在代码中包含模块,所以您需要使用一个可以公开节点的commonJS风格模块的库。Browserify和Webpack是两种流行的方法
Angular引入了自己的模块系统,使其更加复杂,该系统更像AMD风格的模块。有一些方法可以解决这个问题,这样您就可以使用节点样式的模块,也许您的项目会使用这些模块。
使用npm
来管理依赖关系是个好主意,它是一个很棒的包管理器。不过,在您的情况下,项目可能仅使用node
构建,并且node_modules
文件夹包含仅与构建相关的依赖项。
- 这是什么 ==- javascript 运算符
- 我的单元测试选项是什么
- 打破承诺链的好方法是什么
- 在AngularJS应用程序中使用封装指令和路由的推荐方式是什么
- Javascript中的空白是什么
- 是什么让一个“;Uncaught RangeError:超过了最大调用堆栈大小“;错误(Chrome,在其他浏览器中显示
- 在JavaScript中拆分日期字符串的更好方法是什么
- 将jQuery.ech()方法转换为本地JavaScript抽象的最佳方法是什么
- 处理浮点错误的最佳方法是什么
- javascript导入的最佳实践是什么
- 基于窗口宽度jquery的函数的替代方法是什么
- 在ng重复循环中显示条件内容的最佳方式是什么
- 我的客户端选项是什么
- 这是什么“;要求“;事情
- 未捕获的类型错误:topFrame.window.changeSelectedBarStyle不是函数,原因是什么
- 实现比较方法的最佳实践是什么;s的比较类型是在运行时选择的
- @@(“at at”)在ES6 JavaScript中是什么意思
- knex:根据结果创建数组的合适方法是什么
- JSDoc:模块和名称空间之间的关系是什么
- minimy javascript是什么意思?Backbone.js