3

我想专门将 RequireJS 用于节点。

当我运行“node r.js file.js”时,我似乎无法让它在同一个文件中运行:

define('a', function () {
    console.log("loaded a");
    return {};
});

require(['a'], function(a){

});

有没有办法用requirejs的定义来覆盖define和require。

还有一种方法可以严格使用 r.js 而不是安装 requirejs npm。

4

1 回答 1

2

您可以在节点中使用 require.js!

require.js 文档包括关于使用 node.js 安装 require 的部分。

  • 首先,你进入控制台(假设你有你应该拥有的 npm)并输入:

    npm install requirejs

  • 在那之后,你们都准备好了。首先你需要 require (不是双关语),所以在你的主 js 文件的顶部,你需要类似:

    var requirejs = require('requirejs');

  • 然后,您可以对其进行配置:

    requirejs.config({/*your config with shims,etc goes here*/});

而已!您现在可以使用它:

requirejs(["module1","module2"],function(mod1,mod2){
    //whatever here
});

此页面上有更详细的说明。

更大问题的更好解决方案:

您可以使用browserify

Browserify 允许您使用 node.js 样式require()语句在客户端和服务器之间共享代码。它为您的喜好填充常见的东西process.nextTick。它甚至可以填充模块pathevents甚至vm.

我个人在几个生产项目中使用过它并且它有效。

于 2013-04-10T07:17:52.420 回答