【发布时间】:2014-10-30 16:37:02
【问题描述】:
我使用 requirejs 为浏览器和 nodejs 编写了模块。
一切正常,但我想包含一个仅用于浏览器的模块,而不是用于节点,因为我不需要它并且它在节点中不起作用。 (它只是一个精美的浏览器设计库)。
我的代码如下所示:
define([
'requirement',
'libs/fancy'
], function(Requirement, fancy) {
// do stuff
});
fancy 是我在 node.js 中不想要的库。所以我可以写一个这样的解决方法:
if (typeof window !== 'undefined') { // cheap detection of browser/node
define([
'requirement',
'libs/fancy'
], start);
} else {
define([
'requirement'
], start);
}
function start(Requirement, Fancy) {
// do stuff
}
但这显然是丑陋的。有谁知道更好的方法吗?
-- 编辑 1:
var requirements = ['requirement'];
if (typeof window !== 'undefined') {
requirement.push('libs/fancy');
}
define(requirements, function(Requirement, Fancy) {
// do stuff
}
还不完美
【问题讨论】:
标签: javascript node.js requirejs