问题标签 [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.
javascript - RequireJS 优化
我正在使用 r.js 来优化我的应用程序,正如我在几个示例中看到的那样,我使用 build.json 配置文件来配置我的优化选项。
问题是,当我在优化后设置对输出 javascript 文件的引用时,我在浏览器中收到以下错误:
未捕获的 ReferenceError:未定义 main-built.js:14735
看起来,我所有的应用程序模块都存在,但缺少 RequireJs。
这是我的 build.json 配置文件:
如何将 requirejs 添加到输出 js 文件中?也许我需要在配置中添加其他内容?或者问题不在于配置?
谢谢,奥利
requirejs - 使用 grunt-requirejs 编译时出现“没有这样的文件”错误
由于 require.js 构建的大多数问题都与文件结构和相对路径引用有关,因此我在这里创建了一个存储库:https ://github.com/ttback/requirejs-example以便于排除故障。
错误是当我运行 grunt 时,我会得到no such file or directory requirejs-example/src/js/bundle/js/bundle/utils.js
这是由于错误的baseUrl。我希望它是,src/
但我无法设置它,因为它会src/js/bundle/main.js
根据我的 Gruntfile 查找依赖项。所以基数在src/js/bundle
。当前的 main.js 与 index.html 一起使用,如果我将 utils.js 的相对路径从 main.js 更改.js/bundle/utils.js
为./utils.js
内部,应用程序将中断。
有什么办法可以让 grunt-requirejs 与我所拥有的一起工作吗?
requirejs - Trying to use grunt-contrib-requirejs to minify all JS to one file
I have the following directory structure (relevant bits only):
Gruntfile.js contains the following:
app.js contains the following:
How do I set it up so that it copies all the JavaScript needed into build/script.js, not just app.js and require.js when I tell it to (erroring when I try to use jQuery)? I also want to be able to add modules without adding them to my Gruntfile, just by adding them to script.js.
requirejs - 当 r.js 手动工作时,grunt-contrib-requirejs 编译会出错
我在运行 requirejs 作为编译我的 js 文件的繁重任务时遇到问题。当我使用相同的配置文件手动运行它(r.js.cmd -o configfile.js)时,一切似乎都正常。
似乎 grunt 任务正在输入路径定义并且无法找到我的 lib 文件。
路径应该是 /path/to/project/js/lib/lib.js。我的主 js 文件(data-main-attribute 中的那个)有一个带有正确路径映射的 requirejs.config 调用('lib':'lib/lib.js')。之后,我将它们用作启动应用程序的 require 调用中的参数。
我的requirejs任务配置:
grunt requrejs
call 和should之间的唯一区别r.js.cmd -o build.js
是 grunt 任务配置。毕竟他们使用的是相同的配置文件。我做错了什么或者 grunt-contrib-requirejs 中的路径存在某种问题?
javascript - Grunt requirejs 将 require 模块连接并 uglify 到一个文件
目前使用 grunt-contrib-requirejs 插件
但在该插件中找不到将文件连接到单个文件选项。如何添加或任何示例。我需要将所有 js 文件连接起来并将其 uglified 为一个文件,该文件必须在第一次加载时加载。
谢谢。
javascript - 依赖跟踪失败/被 grunt-contrib-requirejs 构建跳过
在使用 grunt-contrib-requirejs 构建这个 requirejs 配置时,
我的 gruntfile.js 文件,
还有我的 router.js 文件
router.js 文件没有被 grunt-contrib-requirejs 跟踪为依赖项并被跳过。正因为如此,在 ember 应用程序中没有注册自定义路由器,所以 emberjs 正在寻找默认路由,那么如何让 grunt-contrib-require 跟踪 router.js。
javascript - requirejs 优化器 - 需要帮助优化我们的应用程序
我们有一个大型 javascript 应用程序,我们正在尝试使用 grunt-contrib-requirejs 连接和缩小它。我们使用 Aura 框架。我们使用 bower 将依赖项从其他存储库引入到我们的主应用程序中。
这是我们的应用程序结构
主.js:
我们当前的requirejs 任务配置:
这连接了我们的 app/main 及其依赖项,但是当我们尝试运行它时,我们会收到如下错误:
GET http://www.my-machine:8080/bower_components/underscore/underscore.js 404 (Not Found) 即使underscore 是我们包含的许多小部件的依赖项。
我们在r.js 示例中广泛尝试了不同的选项,并通读了许多 stackover flow 问题试图找到答案。
我们需要有关如何将其构建到具有以下结构的缩小文件的建议:
更新#2:正确的文件结构
更新
我们已经包含underscore
在我们的垫片中,它修复了上述错误,但我们仍然收到另一个错误:
这包含在最小化文件中,所以我不明白为什么找不到该文件:
更新#3
上面的定义来自优化工具生成的文件!该模块的原始定义core/app/main.js
看起来像:
coffeescript - 在实现 RequireJS 的同时继续使用 CoffeeScript 进行开发
我想在一个使用 CoffeeScript 和 Grunt 的非常大的单页应用程序中实现 RequireJS。我们为不同的模块(服务、Backbone 等)提供了单独的文件。
实现 RequireJS 非常简单——我的主要问题是应用程序的大小和 CoffeeScript 的空白敏感性。我们需要能够在实现 RJS 的同时不断开发新功能。我们不能这样做的原因是我们必须将所有文件包装在定义调用中,并重新标记文件。当您尝试重新设置此代码的基础时,会因制表符而出现大量合并冲突。没有人有时间解决所有这些问题,因为在 RJS 之前可能已经引入了新功能和错误修复。
我研究了一些可能的解决方案:
停止开发并重新标记所有内容。这很糟糕,因为在文件被标记并且代码实际上与 RJS 一起工作之前,开发会停止。
使用 CommonJS 模式,并使用 RJS CommonJS 转换器 pre-RJS 优化。看起来很hacky。
- 使用 CoffeeScript
backtick
功能将 CoffeeScript 类包装在标准 JavaScript 模块模式中。接下来将依赖项传递给 CoffeeScript 类的“模块”包装器,然后在文件中的 RJS 调用中初始化“模块”。
编辑:感谢有关垂直结构的提示并介绍我以这种方式传递函数参数(无逗号)。我们的项目在结构上非常相似(不幸的是,目前除了 grunt-contrib-coffee 进行 linting),我还在构建一个自定义监视任务来编译单个文件(与 glob 模式相比)。
考虑这个非常基本的例子:
view.coffee
:
正常的过程是使用 RJS 执行以下操作:
注意整个类是如何被重新标记的。如果我们的任何一位开发人员出现并修改了View
该类,而我正在尝试并行实现 require ,Git 会讨厌这一点。
反引号的想法行不通,我无法解决那里的全球问题:
我认为我最好的选择是将所有应用程序功能合并在一起,然后暂停片刻以重新标记每个文件必要的两个空格,所有这些都在一次提交中完成。只要文件的其余部分遵循该模式,CoffeeScript 似乎并不关心缩进从哪里开始(第 0 列与第 2 列)。我们应该能够以这种方式在 RJS 中滑动并逐步实现它,从而防止无法解决的合并冲突。
javascript - 使用 grunt 优化 requirejs 应用程序时的依赖错误
我正在尝试使用 grunt 缩小我的 requirejs 应用程序,它输出所有缩小的文件,我的 main.js 获取所有使用的脚本等......我从定义公用文件夹的级别运行 grunt
但是当我尝试运行优化的主 js 文件时它不起作用并说没有为我的“kinvey”模块定义 Backbone.. (//da189i1jfloii.cloudfront.net/js/kinvey-backbone-1.1.6.min .js)请帮助我搜索了几个小时,但它不起作用!
目录布局:
主.js:
咕噜声文件包含:
由于某种原因,输出文件包含主干模块,然后在其下方是kinvey代码..但是由于某种原因,当kinvey代码运行时Backbone不存在,但它需要,因为它依赖于它(就像我在配置中所做的那样)。
未优化时确实可以正常工作!
请帮助我我一无所知..