Javascript 如何在RequireJS中为模块分配变量?
如何将变量分配给RequireJS中的模块 换句话说,与此对应的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 (
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.