问题标签 [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.
javascript - 访问 require.js 回调的返回值
我在一个文件中定义了如下模块
这需要在另一个文件(我的主干路由器文件)中使用以下内容
我可以IndexView
在路由器范围内访问返回的对象,而无需在我的应用程序的命名空间中存储引用吗?
javascript - 什么是 typescript AMD 模块,ASP MVC4 Web 应用程序需要它吗?
我开始使用 Web Essentials,我看到有一个选项“使用 AMD 模块”。我正在为 ASP MVC4 应用程序使用打字稿。有人可以解释一下 AMD 模块的全部内容吗?这是我应该知道的吗?
module - 导入位于低于当前路径的路径中的 TypeScript 模块会引发范围错误
在尝试组合一个 AMD 友好的 TypeScript 应用程序框架时,我遇到了一个障碍:我似乎无法从当前路径下拉以在另一个目录中导入模块。我可以导入上面的模块,但下面会引发错误:
TypeScript Error: The name ''../core/View'' does not exist in the current scope
这是我的(非常基本的)应用程序的结构:
在我的Application.ts
文件中,我可以成功导入一个模块,如下所示:
哪个,当使用 --module AMD 标志时,正确输出
现在,问题是当我跳入views/HomeView.js
并尝试导入我的core/View
BaseClass 以从以下位置扩展时:
这引发了这个完整的错误:
这是编译器中的错误,还是我对模块导入的理解有误?为什么我可以导入views/HomeView
,但不能../core/View
?
任何帮助将不胜感激。
javascript - 同时支持 CommonJS 和 AMD
有没有办法创建一个支持以下所有模块格式的javascript微库(一个没有依赖关系的库):
- 异步模块定义
- CommonJS
- 将库的导出公开为全局命名空间对象(无加载器)
javascript - 是否可以使用 require.js 将非模块 *.js 文件设置为依赖项
我们不使用 require.js 在 js 源代码上实现模块,但我想将它用于测试。还有一个问题:我无法实现原始 *.js 文件作为其他模块的依赖项。是否可以?
我的意思是:在它之后加载一些 *.js 文件和模块(以测试它)。
javascript - SlickGrid 使用 AMD 污染全局命名空间
我正在尝试将 SlickGrid 导入我的应用程序...但即使我使用 AMD 加载模块,它也会将自身附加到窗口
有没有办法使用 Shim 配置来避免污染命名空间。另一个问题可能是 SlickGrid 依赖项将在全局命名空间中寻找它。
想法会很棒。
有我当前的 Shim 配置以及我正在使用网格的模块
module - 在错误位置查找模块的代码
我使用 build.dojotoolkit.org(我的第一次尝试)创建了一个具有 3 层的多层构建:dojo.js、dojox.js、dijit.js。每个 js 文件都上传到自己的文件夹中(dojo、dojox、dijit)。
当我运行代码时,我希望它在 dijit.js 中查找以获取像 dijit.form.TextBox 这样的表单模块。但相反,它会尝试加载 dijit/form/TextBox.js,当然最终会出现 404 错误。
我究竟做错了什么?
如果有帮助,文件就在这里:http: //usermanagedsolutions.com/Demos/Pages
javascript - BreezeJS 和 RequireJS 没有按预期工作
我正在将breathJS 集成到一个已经使用knockoutJS 的现有requireJS 项目中。我遇到了几个问题。
首先是微风无法加载 Q 库,除非我将它作为<script>
标签包含在我的 html 包装器中,而不是作为加载的 AMD 依赖项。在我的项目中,我试图将我的代码保留为单个脚本标记,所以这并不理想。
第二个问题是breezeJS 无法加载淘汰赛。在我的 main.js 中,我定义了淘汰赛的路径:
knockout: '../libs/knockout/knockout-2.2.0',
(我这样做是因为我喜欢确定我没有访问 global ko
)
然而,当我在我的项目中添加微风时,微风无法加载我的淘汰赛库。查看微风代码,我可以看到它已被硬编码为将淘汰赛库加载为ko
.
不想更改我的所有代码,我发现我可以将我加载的 AMD 淘汰赛库添加到全局窗口对象中window['ko']
。但这感觉就像一个障碍。同样奇怪的是,以这种方式添加 Q 并删除<script>
标签不起作用,因为我认为 Q 在应用程序的生命周期中为时过早,甚至在我污染全局之前 - 我确实将我的require()
调用嵌套在 main.js 中,但隐藏了我的大部分应用程序文件都来自构建过程,所以我放弃了这种方法。
我怎样才能在我的项目中包含 Q 和淘汰赛和微风,并且仍然使用单行<script>
标签,目前我不得不将 Q 作为单独的<script>
标签包含并污染全局以使微风和淘汰赛能够很好地发挥作用。
我在我的项目中使用了很多其他库,但没有一个库那么难集成。
任何帮助深表感谢
干杯
加夫
编辑:这是我的完整需求配置:
javascript - Require.js 加载谷歌地图和它的 Richmarker 扩展的问题
我目前正在尝试使用 require.js 模块定义和依赖处理程序加载 Google 地图库及其扩展RichMarker 。
我已经声明了 Google Maps 模块和扩展的路径,如下所示:
google_maps 模块看起来像
最后,使用谷歌地图库和高级标记扩展的模块定义如下:
然而,googlemap 正确地启动了加载,但我在控制台中收到有关 Richmarker 扩展的错误:
我在哪里做错了?谢谢您的帮助。
javascript - 在 Requirejs 中使用 Meteor
如何将 requirejs 集成到流星应用程序中并使用 AMD 模块,例如用于我的 Backbone 模块?有没有人这样做并且可以告诉我需要哪些步骤才能使其正常工作?