node.js - 文件的CORS错误:URL,最好的方法是什么?
问题描述
因此,我希望在共享网络驱动器上运行一个节点 Web 应用程序,并且其他计算机能够使用该 Web 应用程序,而不是运行它的机器。我在使用 file:/// 打开时遇到了 CORS 跨域错误,因为 Web 应用程序需要访问同一文件夹中的一些 JSON 文件。公开托管 Web 应用程序不是一种选择。
http.createServer(function (req, res) {
fs.readFile(__dirname + req.url, function (err, data) {
if (err) {
res.writeHead(404);
res.end(JSON.stringify(err));
return;
}
res.writeHead(200);
res.end(data);
});
}).listen(8888);
此代码似乎仅通过 ip 托管本地计算机,最好我可以通过文件路径导航到它。
最好的方法是什么?如果可能的话,我正在寻找轻量级的东西。我听说过 Electron.js,但这是最佳方法吗?
解决方案
由于 CORS,直接在浏览器中加载的文件将始终被拒绝。您需要从 Web 服务器加载文件,通过 HTTP 协议和 CORS 不会有问题。只需使用网络服务器作为本地主机,无需公开。只需将该文件放在 localhost 的根目录中并以 http://localhost/yourfile.html 的方式访问它,并将其他文件也放在那里。