标签: gruntjs

NPM vs. Bower vs. Browserify vs. Gulp vs. Grunt vs. Webpack

我正在尝试总结我对最流行的JavaScript包管理器,捆绑包和任务运行器的了解.如果我错了,请纠正我:

  • npm&bower是包管理员.他们只是下载依赖项,不知道如何自己构建项目.他们知道的是在获取所有依赖项之后调用webpack/ gulp/ grunt.
  • bower就像npm,但是构建了扁平的依赖树(不像npm递归那样).含义npm获取每个依赖项的依赖项(可能会获取相同的几次),同时bower期望您手动包含子依赖项.有时bowernpm分别用于前端和后端(因为每兆字节在前端可能很重要).
  • grunt并且gulp是任务运行者自动化所有可以自动化的东西(即编译CSS/Sass,优化图像,制作捆绑并缩小/转换它).
  • gruntvs. gulp(就像mavenvs. gradle或配置与代码).Grunt基于配置单独的独立任务,每个任务打开/处理/关闭文件.Gulp需要的代码量较少,并且基于节点流,这使得它可以构建管道链(无需重新打开同一个文件)并使其更快.
  • webpack(webpack-dev-server) - 对我来说,这是一个热门重新加载更改的任务运行器,可以让你忘记所有JS/CSS观察者.
  • npm/ bower+ plugins可以替换任务运行器.他们的能力经常交叉,所以如果你需要使用gulp/ gruntover npm+插件,会有不同的含义.但是,跑步者的任务是复杂的任务肯定更好(例如,"每个建设创建捆绑,从ES6 transpile到ES5,在所有浏览器模拟器中运行它,使屏幕截图和部署通过FTP收存箱").
  • browserify允许为浏览器打包节点模块.browserifyvs noderequire实际上是AMD vs CommonJS.

问题:

  1. 什么是webpack&webpack-dev-server官方文档说它是一个模块捆绑器,但对我来说它只是一个任务运行器.有什么不同?
  2. 你会在哪里使用browserify?我们不能对node/ES6导入做同样的事情吗?
  3. 你什么时候使用gulp …

npm gruntjs bower gulp webpack

1811
推荐指数
8
解决办法
27万
查看次数

Grunt,NPM和Bower之间的区别(package.json vs bower.json)

我是新手使用npm和bower,在emberjs中构建我的第一个应用程序:).
我对rails有一些经验,所以我对列出依赖项的文件的想法很熟悉(例如bundler Gemfile)

问题:当我想添加一个包(并将依赖项检入git)时,它属于哪里 - 进入package.json还是进入bower.json

从我收集的内容来看,
运行bower install将获取包并将其放在/vendor目录中,
运行npm install它将获取它并将其放入/node_modules目录.

这个SO答案说bower用于前端,npm用于后端.
Ember-app-kit似乎从第一眼开始就坚持这种区别......但是gruntfile中用于启用某些功能的指令给出了两个显式命令,所以我在这里完全糊涂了.

直觉我会猜到

  1. npm install --save-dev package-name相当于将package-name添加到我的package.json中

  2. bower install --save package-name可能与将包添加到我的bower.json并运行bower install相同

如果是这种情况,我什么时候应该像这样明确地安装软件包而不将它们添加到管理依赖项的文件中(除了全局安装命令行工具)?

javascript gruntjs bower

605
推荐指数
2
解决办法
18万
查看次数

Grunt手表错误 - 等待...致命错误:观看ENOSPC

为什么我Waiting...Fatal error: watch ENOSPC在运行监视任务时得到了什么?我该如何解决这个问题?

node.js gruntjs

519
推荐指数
4
解决办法
13万
查看次数

导致此错误的原因是什么 - "致命错误:无法找到本地咕噜声"

我首先删除了旧版本的grunt,然后我安装了新的grunt版本,然后我收到了这个错误:

D:\ www\grunt-test\grunt grunt-cli:grunt命令行界面.(v0.1.4)

致命错误:无法找到当地的咕噜声.

如果您看到此消息,则表示未找到Gruntfile或者您的项目未在本地安装grunt.有关安装和配置grunt的更多信息,请参阅"入门指南":http://gruntjs.com/getting-started

这是因为我的系统路径中没有对grunt的引用吗?或者是其他东西?我试过几次重新安装它.

javascript gruntjs

364
推荐指数
6
解决办法
40万
查看次数

无法安装NodeJ:/ usr/bin/env:node:没有这样的文件或目录

我正在尝试将nodeJs安装到我的Ubuntu 14.04中以便使用GruntJs.

我已经阅读了Ubuntu不同的做法(问题?),所以这就是我为安装它而做的事情:

sudo apt-get install npm

sudo npm install -g grunt-cli
Run Code Online (Sandbox Code Playgroud)

在那之后打字咕噜我有错误:

/usr/bin/env: node: No such file or directory
Run Code Online (Sandbox Code Playgroud)

所以,我试过了:

curl -sL https://deb.nodesource.com/setup | sudo bash -

sudo apt-get install -y nodejs

sudo apt-get update
Run Code Online (Sandbox Code Playgroud)

再试一次,仍然得到错误,我试过:

sudo add-apt-repository https://launchpad.net/~chris-lea/+archive/node.js/

sudo apt-get install -y nodejs
Run Code Online (Sandbox Code Playgroud)

我有这样的信息:

nodejs is already the newest version.
0 to upgrade, 0 to newly install, 0 to remove and 3 not to upgrade.
Run Code Online (Sandbox Code Playgroud)

我确实尝试过清理,以防万一:

sudo apt-get autoremove
Run Code Online (Sandbox Code Playgroud)

但是没有,错误仍然存​​在:当我输入咕噜声时,我仍然会得到 /usr/bin/env: node: No such …

ubuntu node.js node-modules gruntjs npm-install

295
推荐指数
14
解决办法
20万
查看次数

-save-dev在npm中的意思是安装grunt --save-dev

我刚刚开始使用Grunt.js.设置起来非常困难,我正在创建一个package.json文件.

在本教程之后,它说有3种方法可以创建package.json文件.

首先是做 npm install grunt --save-dev

但这--save-dev意味着什么?我试着看,但结果徒劳无功.

node.js npm gruntjs

268
推荐指数
6
解决办法
10万
查看次数

让Grunt为不同的设置生成index.html

我正在尝试使用Grunt作为我的webapp的构建工具.

我想要至少有两个设置:

I.开发设置 - 从单独的文件加载脚本,没有连接,

所以我的index.html看起来像:

<!DOCTYPE html>
<html>
    <head>
        <script src="js/module1.js" />
        <script src="js/module2.js" />
        <script src="js/module3.js" />
        ...
    </head>
    <body></body>
</html>
Run Code Online (Sandbox Code Playgroud)

II.生产设置 - 在一个文件中加载我的脚本缩小和连接,

与index.html相关:

<!DOCTYPE html>
<html>
    <head>
        <script src="js/MyApp-all.min.js" />
    </head>
    <body></body>
</html>
Run Code Online (Sandbox Code Playgroud)

现在的问题是,如何才能让咕噜使这些的index.html的取决于配置,当我运行grunt devgrunt prod

或者也许我正在挖掘错误的方向并且总是生成更容易MyApp-all.min.js但是将所有脚本(连接)或从异步文件中异步加载这些脚本的加载器脚本放入其中?

伙计们,你是怎么做到的?

javascript build-automation build gruntjs

208
推荐指数
8
解决办法
8万
查看次数

src和dist文件夹的作用是什么?

我正在寻找一个jquery插件的git repo.我想在我自己的项目中进行一些更改,但是当我打开回购时,它有一个我以前从未见过的结构.我不确定使用/复制到我自己的项目中的文件.

有一个"dist"和一个"src"文件夹.这些服务的目的是什么?这是针对gruntjs或jquery插件的特定内容吗?

git repo我很好奇:https://github.com/ducksboard/gridster.js

javascript jquery jquery-plugins gruntjs

156
推荐指数
1
解决办法
6万
查看次数

用nodejs替换文件中的字符串

我使用md5 grunt任务生成MD5文件名.现在我想在任务的回调中使用新文件名重命名HTML文件中的源.我想知道最简单的方法是什么.

javascript replace node.js gruntjs

136
推荐指数
6
解决办法
16万
查看次数

如何判断npm包是全局安装还是本地安装

我在windows7上安装grunt,node,npm,bower和grunt-cli.

说明说我应该使用-g标志为全局运行install命令.

如何在安装时检查是否使用了-g标志.卸载它们并重新安装需要花费大量时间.

node.js npm gruntjs

132
推荐指数
5
解决办法
6万
查看次数