问题标签 [amd]

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 回答
138 浏览

javascript - BackboneJS 根级视图

如果您在“几乎”每个屏幕上都有一些根级别的 HTML,您将在哪里/如何组织它?

我正在使用骨干样板和requirejs。其中一个根级视图是一个全局导航元素,可以随时从屏幕底部调用。

这被组织在一个具有模型的模块中(用于可见性、选定状态、点击日志等)。该应用程序存储在:

然后在我的路由器初始化方法中,我有:

它工作正常,但随着功能的增长,路由器初始化方法与类似的根视图、子路由器等变得失控。我完全错过了什么吗?

你会推荐什么?

0 投票
5 回答
30273 浏览

javascript - RequireJS - pass parameters into module for initialization

Possible Duplicate:
How to load bootstrapped models in Backbone.js while using AMD (require.js)

I am currently creating a RESTful API for one of our projects and also wanted to provide a Javascript library to access it.

Since I like the AMD principle and using require.js, I would provide an AMD module as well. The problem is: the initialization of the module would require some information like the API key on initialization.

How do I pass such parameters into a module upon initalization?

0 投票
2 回答
451 浏览

javascript - 具有最少代码占用的 JS 加载器

几天前我遇到了一个问题,这意味着我需要 JS 加载器。

我有以下文件:

我需要从“c.js”开始按顺序加载这些文件。

我对 js 加载器进行了一些快速研究,发现它们中的许多不能工作(或者工作但以丑陋的方式)具有像我的示例这样的深层依赖关系,并且只要它们加载给定依赖关系就启动一个回调函数,而不必担心给定依赖项中的依赖项(如果您现在是我的意思)。

尽管像 requireJs 这样的一些严肃的加载器可以做到这一点,但我发现它们在这种情况下有点烦人:

...太多的代码,只有很少的依赖。

我也不喜欢我应该修改一些脚本,所以当它应该返回 $ 时,它们会返回类似于 jQuery 的东西。

太节省我的时间并避免尝试所有加载程序,我创建了这个问题。

所以,最大的问题是,哪个 JS 加载器可以执行以下操作:

  1. 加载“深度”依赖项,就像我的示例一样,只有在加载所有依赖项和依赖项的所有依赖项(...等)时才会启动 callback() 。
  2. 占用空间小,就像拥有一个 reuqire 函数,带有依赖列表和回调,并且不需要“回调”来返回和传递一些东西(因为通常我有自己的命名空间,比如 ga、gb、gc)。

我希望看到的一些例子:

*对不起我的英语不好。

Ps - 实际上我写了我自己的加载器,它确实给出了一些东西,并且比 $script.js 更小(580 字节),虽然,当需要一些东西时,应该传递当前脚本的文件名,就像这样require('main.js', ['b.js'], function(){});- 但我没有想靠我的悟性。

0 投票
2 回答
1884 浏览

dojo - Dojo 1.7 如何在 require() 之外使用 dojo 组件

我在 Dojo 1.7.2 中使用 AMD 加载程序创建了如下所示的 Dojo 小部件

在上面的示例中,在最后一条语句中,变量“myCpane”以“未定义”的形式出现,如果我在“require()”回调函数中使用“myCpane.startup()”,它将正常工作。

但我想在 'require' 函数之外使用那个 'myCpane' 变量(出于多种原因)。我知道由于 Dojo 的组件加载过程而延迟了“require()”回调函数的执行。

我的问题是,

  1. 如何阻止“require()”函数,直到它完成执行它的回调函数。

因此,当控件从“require()”函数中出来时,变量“myCpane”不会是“未定义的”

==================================================== =========

为了克服这个问题,我编写了一个小函数来加载模块并等待模块加载完成

函数的输出总是执行while循环,控件永远不会进入'require()的回调函数来设置变量“moduleObject”的值。

'require()' 函数何时会调用它的回调函数?我已经使用浏览器调试器窗口验证了文件'ContentPane.js'已正确加载,但未调用回调函数,如果我评论while循环,则正确调用回调。

在我的情况下,控件何时进入回调函数?

0 投票
2 回答
570 浏览

backbone.js - 使用 Use! 加载 Backbone.Relational 插入

Backbone Relational 不是 AMD 兼容的库,所以我继续寻找使用插件来确保下划线和主干都作为依赖项加载。这是我的配置文件

我还继续扩展了 Backbone Relational 库

最后,我在模型中调用关系

我收到无法设置未定义的属性关系的错误。含义 Backbone 不可用。我错过了什么?

我一直在使用的一些链接
https://github.com/tbranyen/use.js
https://github.com/tbranyen/layoutmanager-example/blob/master/app/index.js
https://raw.github .com/PaulUithol/Backbone-relational/master/backbone-relational.js

0 投票
5 回答
4565 浏览

javascript - 为什么串联的 RequireJS AMD 模块需要加载器?

我们在开发过程中喜欢 RequireJS 和 AMD,我们可以在其中编辑模块,在浏览器中点击重新加载,然后立即看到结果。但是当需要将我们的模块连接到一个文件中以进行生产部署时,显然必须有一个 AMD 加载器仍然存在,无论该加载器是 RequireJS 本身还是它的较小合作伙伴“almond”,如下所述:

http://requirejs.org/docs/faq-optimization.html#wrap

我的困惑是:为什么需要一个装载机?除非您有非常不寻常的情况需要您require()在模块内部进行调用,否则似乎可以在没有加载程序的情况下连接一系列 AMD 模块。最简单的可能示例是如下所示的一对模块。

ModA.js:

ModB.js:

鉴于这两个模块,连接器似乎可以简单地生成以下文本,而不会给生产服务器或浏览器带来 RequireJS 或 Almond 所需的额外带宽或计算负担。

我想象一个产生的连接器(我正在使用 chevron-quotes «,» 来显示上面两个模块的片段被插入的位置):

据我所知,这将正确地重现 AMD 的语义,并且使用最少的无关胶水 JavaScript。有这样的连接器可用吗?如果不是这样,我会不会傻到认为我应该写一个 - 真的很少有代码库由简单而干净的模块组成,define()并且不需要require()在内部进行进一步的调用来启动以后的异步代码获取?

0 投票
2 回答
20845 浏览

javascript - require.js data-main 上的过期缓存

我正在使用 require.js 和 r.js 来打包我的 AMD 模块。我通过以下语法使用 jquery & requirejs:

这一切都很好的前后打包,但我遇到了很多问题,chrome 和移动 safari 保留了 client.js 的缓存版本。我想向 client.js 添加一个 cachebuster,但我似乎无法弄清楚如何使用上述语法来做到这一点。

我尝试了一些变体:

但现在需要尝试从/而不是404s 获取 client.js /js

我也尝试添加

to require.config,但它似乎没有效果。

我也尝试将相同的值添加到app.build.js,但是当它在那里时,r.js 不再连接我的 js 文件,只是将它们丑化。

破坏 require.js 数据主脚本缓存的正确语法是什么?

0 投票
1 回答
178 浏览

javascript - 在RequireJS中的任何其他代码之前不加载任何AMD模块?

如何在加载任何其他模块之前加载非 AMD 模块?我有一个用于 console.x 的 shim,但在加载它之前遇到了麻烦。

我还希望仅在条件为真时才加载它 - 所以在这种情况下,因为它是一个控制台垫片,我想测试一下“控制台”是否未定义,然后只在条件为真时加载控制台垫片。

请注意,我正在使用 RequireJS 并且也有 Modernizr 可供使用。

谢谢。

0 投票
1 回答
398 浏览

javascript - AMD/Dojo 1.7 单页应用程序:将 Require() 放在哪里?

我有一个大型单页应用程序,我正在迁移到 Dojo 1.7/AMD 加载程序语法。

我有一个加载所有内容的主 JSP,然后是大量用于动态内容生成的 JSP 页面。

在整个应用程序周围或在必要模块的每个实例周围添加 require(){} 块是更好的设计决策吗?

还是某种组合?把最常见的require()添加到主页面,然后再去翻找其他需要包装的实例?

0 投票
1 回答
4519 浏览

javascript - require js paths not being recognised

I am using RequireJS 2.0.2

I have the following in a file used as the entry point.

however it only recognises 'jquery' and none of the other paths, it comes back with the following error:

....thoughts?

Many thanks.