gpt4 book ai didi

javascript - 如何从 Node.js 中的 URL 获取

转载 作者:IT老高 更新时间:2023-10-28 21:57:08 25 4
gpt4 key购买 nike

是否有标准方法要求位于某个 URL(而不是本地文件系统)的 Node 模块?

类似:

require('http://example.com/nodejsmodules/myModule.js');

目前,我只是将文件提取到临时文件中,并要求这样做。

最佳答案

您可以使用 http.get 获取模块方法并使用 vm 在沙箱中执行它模块方法 runInThisContextrunInNewContext .

例子

var http = require('http')
, vm = require('vm')
, concat = require('concat-stream'); // this is just a helper to receive the
// http payload in a single callback
// see https://www.npmjs.com/package/concat-stream

http.get({
host: 'example.com',
port: 80,
path: '/hello.js'
},
function(res) {
res.setEncoding('utf8');
res.pipe(concat({ encoding: 'string' }, function(remoteSrc) {
vm.runInThisContext(remoteSrc, 'remote_modules/hello.js');
}));
});

IMO,在没有替代方案的情况下,在服务器应用程序运行时内执行远程代码可能是合理的。并且仅当您信任远程服务和网络之间的网络。

关于javascript - 如何从 Node.js 中的 URL 获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7809397/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com