如何将 requirejs 集成到流星应用程序中并使用 AMD 模块,例如用于我的 Backbone 模块?有没有人这样做并且可以告诉我需要哪些步骤才能使其正常工作?
问问题
3605 次
2 回答
4
一个简单的答案(尽管可能不是您要寻找的答案)是您可以简单地独立使用这两者。换句话说,加载所有流星脚本,然后开始加载所需的脚本。您的 require-ified 脚本将能够很好地使用 Meteor 的东西,而不必通过 Require 的加载器“导入”任何它。
如果你想导入它,你应该为它创建一个 Require "shim"。
于 2012-12-19T21:47:10.133 回答
0
这是我在 Meteor 和 IronRouter 中加载Aloha Editor的方法。Aloha 使用requirejs来加载它的所有依赖项。
- 在public/alohaeditor中解压 Aloha 发行版。
- 将除 aloha-common-extra.css 之外的所有 Aloha css 文件移动到client/lib/alohaeditor(不要忘记插件文件夹中的文件)。
- 在所有 Aloha css 文件中,将相对路径转换为绝对路径(将所有 '../' 替换为 '/alohaeditor/')。
- 安装wait-on-lib Meteor 包。
将以下钩子添加到您的路线:
onBeforeAction: function(pause) { // Dynamically load require.js var one = IRLibLoader.load('/alohaeditor/lib/require.js', { success: function(){ console.log('Successfully loaded require.js'); }, error: function(){ console.log('Error loading require.js'); } }); if(!one.ready()) return pause(); // Aloha settings Aloha = window.Aloha || {}; Aloha.settings = Aloha.settings || {}; Aloha.settings.baseUrl = '/alohaeditor/lib/'; Aloha.settings.plugins = Aloha.settings.plugins || {}; Aloha.settings.plugins.load = 'common/ui, common/format, common/link, common/table, common/list, common/block, common/undo, common/contenthandler, common/paste, common/commands, common/abbr'; // Dynamically load aloha.js var two = IRLibLoader.load('/alohaeditor/lib/aloha.js', { success: function(){ console.log('Successfully loaded aloha.js'); }, error: function(){ console.log('Error loading aloha.js'); } }); if(!two.ready()) return pause(); },
于 2014-10-11T14:02:35.227 回答