Javascript 如何在RequireJS中为模块分配变量?

Javascript 如何在RequireJS中为模块分配变量?,javascript,node.js,web,requirejs,commonjs,Javascript,Node.js,Web,Requirejs,Commonjs,如何将变量分配给RequireJS中的模块 换句话说,与此对应的RequireJS是什么: var fs = require('fs'); var child_process = require('child_process'); 我想将这些模块保存在各自的变量中,以便调用它们的函数并在以后处理它们 编辑: 我尝试使用Marco建议的方法,但我得到的错误是: Failed to load resource: the server responded with a status of 404 (

如何将变量分配给RequireJS中的模块

换句话说,与此对应的RequireJS是什么:

var fs = require('fs');
var child_process = require('child_process');
我想将这些模块保存在各自的变量中,以便调用它们的函数并在以后处理它们

编辑:

我尝试使用Marco建议的方法,但我得到的错误是:

Failed to load resource: the server responded with a status of 404 (Not Found) localhost/fs.js
Uncaught Error: Script error for: fs requirejs.org/docs/errors.html#scripterror
然后我将fs.js文件放在项目目录中,现在错误显示:

Uncaught Error: Module name "fs" has not been loaded yet for context: _. Use require([]) requirejs.org/docs/errors.html#notloaded
Uncaught TypeError: Cannot read property 'writeFile' of undefined

请对此提出一些解决方法。

在requirejs中,与您所写内容等效的是

require(['fs','child_process'], function (fs, child_process) {
    //fs and child_process are now loaded
});
如果需要更改导入的名称,只需更改函数参数的名称即可

还请记住,fs和child_进程的加载顺序是不能保证的。如果需要在child_进程之前加载fs,则需要执行两个不同的调用o require()

当您使用上述调用时,RequireJS将查找来自脚本所在主机的两个文件,
fs.js
child_process.js
。路径是相对于所谓的
baseUrl
的。从:

例如,如果您从
http://localhost/index.html
,它将查找
http://localhost/fs.js
http://localhost/child_process.js
。如果由于某些原因,文件位于其他位置(例如,它是一个外部库)

请记住,即使您在服务器端使用节点,也不能从浏览器加载节点模块(看起来您正在尝试这样做)。其中一些在浏览器中甚至没有意义(例如,
child\u process
),其他的可以作为或的独立模块使用,但我没有这方面的经验


如果您尝试使用RequireJS服务器端作为节点的模块系统,您可以查看。

谢谢您的回答。我试过了,但下面是JavaScript控制台中显示的错误:“加载资源失败:服务器响应状态为404(未找到)未捕获错误:脚本错误:fs”然后我将fs.js文件放在目录中,它说:“未捕获错误:模块名“fs”尚未加载上下文:\ uux。使用require([]))未捕获的TypeError:无法读取未定义“”的属性“writeFile”。我已经在我的回答中粘贴了同样的评论。如果你不理解评论,请查看编辑后的问题:)我在我的回答中添加了更多细节,希望它们能解决你的疑问
If there is no explicit config and data-main is not used, 
then the default baseUrl is the directory that contains 
the HTML page running RequireJS.