问题标签 [grunt-contrib-requirejs]

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 投票
1 回答
3498 浏览

javascript - 来自 mainConfigFile 的 RequireJS 优化器不起作用

我正在使用grunt-requirejs,我的应用程序结构如下所示:

当我运行grunt dev文件时,文件会在其他任务中从咖啡编译为 js,并从 dev/ 复制到 srv_dev/,然后从那里提供服务。

我的grunt dist任务做了什么dev,然后运行了一个 requirejs 任务,我希望它应该编译/组合我的应用程序的所有主要依赖项,但仍然允许稍后运行require(somevar)和调用。define基本上,我的单​​页应用程序的某些部分在用户单击它的链接之前不会加载,这会触发一个requrire()define()调用。

我目前的问题似乎很基本......我已经设置了我的 requirejs grunt 任务,如下所示:

这抛出Error: Error: Missing either a "name", "include" or "modules" option

我已经阅读了大部分优化器文档以及示例构建文件,但不明白这个错误是怎么回事。这个项目中的tkellen使用 almond.js 的 name 选项——但我不认为我想这样做,因为我需要那些懒惰的加载器 require() 调用。示例构建文件指出:“仅指定模块名称意味着模块将被转换为包含其所有依赖项的构建文件。” 所以这是我的下一次尝试:

有了这个我得到Error: ENOENT, no such file or directory >> '/Users/user/Desktop/project/site/app.js'

所以它找到了 config.js,但是找不到配置中列出的路径,因为它使用了 require.js 配置的 baseUrl。

如果我在 requirejs 任务配置中指定了“./srv_dev”的 baseUrl,那么它就找不到我的 config.js 文件。我已经尝试了各种方法来让它工作但没有运气。我认为 gruntfile 需要与 config.js 文件位于同一目录中,但这不是我的项目的设置方式。

谢谢各位!!!

这是我的 config.coffee 文件的全文

0 投票
2 回答
6533 浏览

javascript - Grunt 服务器:在终端中找不到命令

在我的项目目录中,我使用以下命令安装了 Grunt:

...之后我在我的项目目录中做了 Grunt 服务器,但它给了我命令未找到错误。

和:

我该如何解决?

0 投票
1 回答
86 浏览

gruntjs - 使用 grunt 测试 JavaScript

我必须使用 grunt 框架对 JavaScript 文件运行测试。

只需要任何简单的示例即可,目标文件 ( /test/filename.js) 依赖于另外一个文件。

0 投票
2 回答
115 浏览

backbone.js - 使用 Backbone jQuery Mobile RequireJS 的 grunt serve:dist 错误

我是 Grunt 和分发过程的新手。我有一个使用主干生成器 require.js 和 jQuery Mobile 生成的 Yeoman 应用程序。它适用于“grunt serve”,但是当我运行 build 和 serve:dist 时,单击 jQuery Mobile / Backbone href 链接没有响应。我正在使用骨干路由。

如果我手动输入 href URL,它就可以工作。如果我对 href 执行检查元素并单击调试窗口中的 URL,它也可以工作。

某些东西一定不能包含在 dist 中,但我不知道缺少什么以及为什么。我在控制台中没有任何错误。

这是我的 Gruntfile:http ://codeshare.io/pHbSc

0 投票
1 回答
1857 浏览

node.js - 使用 grunt 运行 Google Closure 编译器

我正在尝试创建一个 grunt 任务来使用 requirejs 和闭包编译器作为优化器来构建一个 javascript 项目。我正在使用 grunt-contrib-requirejs 插件。

https://www.npmjs.org/package/grunt-contrib-requirejs

虽然我没有明确设置闭包编译器,但这里是配置和错误:

配置:

错误:

Closure 是用 java 编写的,我的项目是用 nodejs 编写的,我不确定如何正确设置它。

0 投票
1 回答
291 浏览

requirejs - 使用 Grunt 和 Requirejs 构建

我正在创建一个 grunt 任务,用于使用 grunt-contrib-requirejs 构建一个带有 requirejs 的 javascript 项目

https://github.com/gruntjs/grunt-contrib-requirejs

这是配置:

main.js 文件在子目录中需要 2 个其他文件。尽管此任务不会引发错误,但生成的构建文件不会运行浏览器。这些文件似乎是连接的,因为构建文件中仍然存在 require 调用。我希望 require 调用的 js 文件可以替代 require 调用,然后进行优化。我怎样才能做到这一点?

PS:上面的配置是用coffeescript编写的。

0 投票
1 回答
996 浏览

requirejs - 使用 requirejs 和 grunt 组合文件

我正在尝试使用 requirejs 的 grunt 插件组合文件:

https://www.npmjs.org/package/grunt-contrib-requirejs

这是配置:

这是输入和输出javascript

输入:test1.js

test2.js

测试.js

该程序在使用 requirejs 加载到浏览器中时运行良好。但是构建完成后,它不起作用。这是因为在x=console使用 requirejs 加载模块时,在加载 test2.js 中的代码之前提供了定义。

但是,在构建之后,在x=console加载来自 test2.js 的代码之后会出现定义——这会产生一个错误——因为 test2.js 调用了 x ,它是两个 js 文件之间的全局变量。

我需要确保 requirejs 将项目构建到单个 .js 文件中,同时确保不存在 amd 代码(require/define),并且代码的执行顺序与在浏览器中加载 requirejs 的顺序完全相同。

0 投票
1 回答
598 浏览

requirejs - 将 AMDclean 与 grunt 一起使用

我正在尝试使用 requirejs 和 AMDClean 构建一个项目,以完全消除生产版本中对 amd 的需求。虽然我能够让 requirejs 优化器将我的文件放在一起,但我无法使用 amdclean 从中删除 require/define。这是我的requirejs代码(使用coffeescript用grunt编写):

这里 client/main.js 是我的应用程序的入口点。我可以使用 script 标签调用这个文件:

这是使用 amdclean 进行 grunt 的 requirejs 任务

我希望能够使用这个标签来调用这个文件:

这没有发生。它抛出一个错误说:models_MenuItem is not defined这是我通常在模块未按正确顺序加载时遇到的错误。使用 requirejs 优化器构建的文件和原始的预构建 javascript 可以正常工作。请帮助我更正我的 amdclean 配置或找出问题所在。

0 投票
1 回答
447 浏览

git - 将 git add 添加到 Grunt githooks 插件

我目前正在使用grunt git hooks实现预提交钩子。我是使用这个插件的新手,我还不清楚我是否可以使用这个插件来做我最初打算做的事情。

目前,我为每个 git 提交触发了两个 grunt 任务,如下所示。

上面生成 git pre-commit 钩子,如下所示。

虽然上述确保任务在 git 提交之前运行,但它不会将新创建的缩小文件(已编译的 SASS 和 r.js 文件)添加到现有提交中。

所以,我想git add --all使用 grunt githooks 在预提交钩子中添加一个。这有可能吗?任何评论/答案将不胜感激。

0 投票
0 回答
529 浏览

gruntjs - 使用 grunt 进行 Requirejs 优化

我正在尝试使用 grunt 和 almond 创建一个 requirejs 优化配置。这是配置:

文件夹结构:

在此处输入图像描述

错误:

Main.js 代码(用咖啡脚本编写)

我想以不需要 requirejs 的方式将分布在多个 js 文件中的整个项目编译成一个文件。我正在尝试使用 almond js 执行此操作,但构建任务不会查找相对于引用文件路径的引用文件。请帮助我进行正确的配置。