节点中的RequireJS对于使用插件的依赖项失败(例如使用use.js)

时间:2012-04-20 05:43:12

标签: javascript node.js requirejs

为了在浏览器和节点之间共享AMD模块,我在两个地方都使用RequireJS(参见RequireJS in Node)。

服务器/ dataDao.js:

var requirejs = require('requirejs');
var dataDao = module.exports = {};

requirejs(['client/resource'], function (Resource) {
   ...
});

的客户机/ resource.js:

define(['underscore'], function (_) {
  ...
});

这通常一直正常,只要共享模块不涉及任何在服务器上不起作用的依赖项。

但是,我想介绍use.js,以避免手动包装非AMD兼容的libs,如下划线。为此,我必须使用use!为列出的依赖项添加前缀(以触发RequireJS中的use plugin)。

的客户机/ resource.js:

define(['use!underscore'], function (_) {
  ...
});

这在浏览器中运行良好,但在Node中导致错误:

Error: Calling node's require("use") failed with error: Error: Cannot find module 'use'

我认为这不是特定于使用插件,而是文本等。

还有其他人遇到过这个问题吗?

1 个答案:

答案 0 :(得分:0)

使用version 0.3 of use我能够让它在节点中工作。根据你的问题的评论,这可能是一个配置问题 - 它花了我几次尝试正确的路径。