问题标签 [gruntjs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
9080 浏览

javascript - Yeoman:LiveReload 与 Yeoman Watch

我第一次尝试Yeoman Server 并看到它提供了一个本地监视工具作为LiveReload的后备。以下是文档解释回退的方式:

“[Yeoman Server] 会自动启动该yeoman watch进程,因此对任何应用程序文件的更改都会导致浏览器通过 LiveReload 刷新。如果您没有在本地安装 LiveReload,则将使用后备重新加载进程。”

到目前为止,回退过程运行良好,我喜欢它不需要在浏览器/菜单栏中安装任何东西。

有没有人用 Yeoman 尝试过这两种手表工具?如果您“升级”到 LiveReload,工作流程有何不同以及您可以获得哪些附加功能?

更新:对 API 的快速检查显示,Yeoman 的实时重新加载功能实际上是 LiveReload。他们是一回事。它在没有浏览器扩展的情况下工作的原因是因为它们使用的是 LiveReload 的snipvr代码片段。有可能通过 LiveReload GUI 访问一些附加功能,也可能用于移动设备测试,但功能更可能是相同的。

0 投票
2 回答
1921 浏览

javascript - 您可以将 grunt.js 中的 linter 更改为 jslint 吗?

我看到 grunt.js 中的默认 linter 是 jshint,但我已经习惯使用 jslint。是否可以更改 grunt.js 使用的 linter?

0 投票
1 回答
3451 浏览

javascript - 如果助手不在,如何从 Grunt 中的代码调用任务

Grunt 正在删除助手,这已经在 grunt-contrib 中发生了。

但是,我有一个 Grunt 文件,它依赖于调用其中一些帮助程序的一些自定义任务。没有帮手,它就会崩溃。我只是想知道替换它们的正确方法应该是什么。

我会以某种方式直接调用任务,但我不确定如何。由于 Grunt 文档尚未更新,因此举个例子会有很大帮助。

谢谢。

0 投票
2 回答
224 浏览

javascript - 用于版本控制的 JS 编译器/包管理器

我试图在这里掌握一些想法。并希望有人可以帮助澄清最佳实践。

团队或配对如何使用像 grunt.js 这样的 javascript 构建系统?

我真的很想把我们的大 javascript 文件分成更小的部分,现在转换为 AMD/Require 不是一个选项。

似乎最简单的方法是连接并缩小到主文件。我们正在使用版本控制(SVN)。

所以我想知道这里的最佳做法是什么?

我们是否要求与生产文件不断冲突?其他团队如何处理这个问题?

希望我的问题足够清楚。

提前致谢...

0 投票
12 回答
77282 浏览

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

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

我想至少有两个设置:

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

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

二、生产设置- 将我的脚本压缩并连接到一个文件中,

相应地使用 index.html:

问题是,我怎样才能让 grunt 使这些 index.html 取决于我运行时的grunt dev配置grunt prod

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

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

0 投票
3 回答
8861 浏览

javascript - 如何将 package.json 数组传递给 grunt.js

有没有办法从 package.json 文件中将数组传递给 grunt.js?我尝试了几种不同的方法,但它们似乎都不起作用。我目前有:

包.json

我能找到的唯一解决方案是传入数组的特定索引;例如 <%= pkg.lint[0] %>。在此先感谢您的帮助!

0 投票
1 回答
2795 浏览

css - 在 compass config.rb 中指定单个 scss 文件

我正在开发一个 HTML5 应用程序的部署过程。我正在使用指南针和 SCSS 进行样式设置,并且我的项目目录的根目录中有一个 config.rb 来配置指南针。我有一个 app.scss 文件,顶部有一些导入,以便以正确的顺序导入其他文件。

虽然我无法在 config.rb 中指定 app.scss 文件,但它只有一个sass_dir选项,它会导致 compass 尝试编译每个文件。这会中断,例如,login.scss 不会导入 definitions.scss 并且如果引用了那里的变量则会中断。app.scss 需要是唯一编译的文件,因为只有它知道所有其他文件

这可能吗?我也无法指定命令行参数,因为最终这一切都将通过 grunt 和 grunt-compass 插件完成,所以我需要一切都在 config.rb

0 投票
2 回答
3029 浏览

javascript - gruntjs - 在哪里安装任务?

从事gruntjs 'Hello World' 项目,似乎没有安装 grunt 任务的最佳位置。例如,假设我想开始编译咖啡脚本,我需要安装“grunt-coffee”任务。

选项 1:将其直接安装到我的 src 树中

这似乎是grunt 希望你这样做的方式,并且它有效。

但是,这会在我的项目树中增加 7.2mg。我不想把它放在我的 src 控件中,但是如果我删除它,grunt 将不会构建我的项目。我可以 .gitignore 它,但是下载存储库的其他人如果不进行相同的安装就无法构建。这对于 CI 服务器来说也有点混乱。

选项 2:全局安装

如果我以这种方式安装它们,Grunt 将找不到我的插件:

我不清楚为什么不支持这一点。

选项 3:将它们安装在其他地方?

Grunt 有一个名为loadTasks的 api 方法,用于在本地加载任务。我尝试拉下 npms 并将它们自己移动到我在这里引用的自定义目录中,但没有成功。例如

进而:

选项 4:Grunt 在其 loadNpmTasks 调用中为我在某个 .grunt 目录中拉下依赖项

那会很好... :)


编辑

下面的辛德雷是正确的。选项 1 是可行的方法,但缺少一个部分 - package.json 文件。所以:

  • 添加一个 package.json 文件并将所有 grunt 项目的依赖项放在那里
  • 确保它node_modules.gitignore-ed。
  • 在您的自述文件中,提供一些说明以npm install在克隆时运行(注意,没有参数)或者是否将依赖项添加到构建文件中。
0 投票
2 回答
912 浏览

javascript - 如何从测试文件中访问 mocha 选项?

我正在使用 gruntjs 和 grunt-simple-mocha 运行 mocha 测试: https ://github.com/yaymukund/grunt-simple-mocha

如何在每个 mocha 测试中访问我的 grunt.js 文件中定义的选项?

我想要完成的是在我的 gruntfile 中有一些通用配置,并在我的测试中使用它。

0 投票
4 回答
24259 浏览

macos - Why does Grunt not add itself to the shell?

I have a problem installing grunt. All the documentation, and blog post tutorials, say that running:

will then allow you to run grunt commands from the terminal.

I have a situation where grunt appears to install with no errors, but typing the command grunt in the terminal still gives:

What could I be doing wrong? And where could I find grunt to add it to my BASH profile manually?