Javascript Grunt、NPM和Bower之间的差异(package.json与Bower.json)
我刚开始使用npm和bower,在emberjs中构建我的第一个应用:)。Javascript Grunt、NPM和Bower之间的差异(package.json与Bower.json),javascript,gruntjs,bower,Javascript,Gruntjs,Bower,我刚开始使用npm和bower,在emberjs中构建我的第一个应用:)。 我对rails有一定的经验,因此我熟悉列出依赖项的文件(例如bundler Gemfile) 问题:当我想添加一个包(并将依赖项签入git)时,它属于哪里-进入package.json或进入bower.json 据我所知, 运行bower install将获取软件包并将其放入/vendor目录, 运行npm install它将获取它并将其放入/node\u modules目录 表示bower用于前端,npm用于后端。 乍
我对rails有一定的经验,因此我熟悉列出依赖项的文件(例如bundler Gemfile) 问题:当我想添加一个包(并将依赖项签入git)时,它属于哪里-进入
package.json
或进入bower.json
据我所知,运行
bower install
将获取软件包并将其放入/vendor
目录,运行
npm install
它将获取它并将其放入/node\u modules
目录
表示bower用于前端,npm用于后端。乍一看似乎坚持这一区别。。。但是Grunfile中的指令给出了两个显式命令,所以我在这里完全搞不清楚 凭直觉我猜
如果是这样的话,我什么时候可以明确地安装这样的包而不将它们添加到管理依赖项的文件中(除了全局安装命令行工具)?Npm和Bower都是依赖项管理工具。但是两者之间的主要区别是npm用于安装Node js模块,而bower js用于管理前端组件,如html、css、js等 使这一点更加混乱的一个事实是,npm提供了一些也可以用于前端开发的包,如
grunt
和jshint
这些行增加了更多的含义
与npm不同,Bower可以有多个文件(例如.js、.css、.html、.png、.ttf),这些文件被视为主文件。Bower在语义上将这些主文件打包在一起时视为一个组件
编辑:Grunt与Npm和Bower有很大不同。Grunt是一个javascript任务运行器工具。您可以使用grunt做很多事情,否则您必须手动完成。强调Grunt的一些用法:
- 编辑package.json文件并添加对“request”的依赖项
- npm安装
- 使用命令行:
npm安装--保存请求
--save
选项也将依赖项添加到package.json文件中。如果不指定--save
选项,它将只下载包,但json文件不受影响
无论采用哪种方式,都不会有实质性差异。2016年年中更新: 事情变化如此之快,如果2017年晚些时候,这个答案可能不再是最新的 初学者可能会很快迷失在构建工具和工作流的选择中,但2016年最新的是根本不使用Bower、Grunt或Gulp!借助Webpack,您可以直接在NPM中完成所有操作
- 谷歌“npm作为构建工具”结果:
- 网页:
- 网页包
- NPM作为构建工具(无吞咽、咕噜声或凉亭)
- 与Redux反应
- 埃斯林特
- 名单很长。去探索吧李>
- 现在一切都属于package.json
- 构建所需的依赖项位于“devdependences”中,即npm安装要求目录--save dev(-save dev通过向devdependences添加条目来更新您的package.json)
- 运行时应用程序所需的依赖项位于“依赖项”中,即
(-save updates your package.json,通过向依赖项添加条目)npm install lodash--save
--save dev
或--save
)时,管理deps的文件(package.json)将自动更新。不要浪费时间手动编辑其中的依赖项。s