【发布时间】:2014-10-11 22:02:35
【问题描述】:
如何将 requirejs 集成到流星应用程序中并使用 AMD 模块,例如用于我的 Backbone 模块? 有没有人这样做并且可以告诉我需要哪些步骤才能使其正常工作?
【问题讨论】:
标签: javascript requirejs meteor amd
如何将 requirejs 集成到流星应用程序中并使用 AMD 模块,例如用于我的 Backbone 模块? 有没有人这样做并且可以告诉我需要哪些步骤才能使其正常工作?
【问题讨论】:
标签: javascript requirejs meteor amd
一个简单的答案(尽管可能不是您要寻找的答案)是您可以简单地独立使用这两者。换句话说,加载所有流星脚本,然后开始加载所需的脚本。您的 require-ified 脚本将能够很好地使用 Meteor 的东西,而不必通过 Require 的加载器“导入”任何它。
如果你想要必须导入它,你应该为它创建一个 Require "shim"。
【讨论】:
这是我在 Meteor 和 IronRouter 中加载 Aloha Editor 的方式。 Aloha 使用 requirejs 加载其所有依赖项。
将以下钩子添加到您的路线:
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();
},
【讨论】: