我正在编写一个带有客户端javascript的node.js
应用程序,它使用fetch
从我编写的节点API获取数据。我希望能够将该应用程序放在任何站点(URL)上,而无需更改javascript中的任何内容。我当前的代码类似fetch("http://localhost:8080/data.json")
。例如,如果我想部署到Heroku上,我将不得不改变它。有没有办法克服这个事实?
答案 0 :(得分:0)
如果我理解正确,窗口位置可能会起作用。将其设置为如下变量:
对于浏览器:
如果主机名为http://localhost:8000,请使用以下命令:
// http://localhost:8000/data.json
var url = window.location.hostname + "/data.json";
fetch(url)
另一个例子。
document.getElementById("demo").innerHTML =
"Page location is " + window.location.href;
结果是
Page location is https://www.w3schools.com/js/js_window_location.asp
更多信息: https://www.w3schools.com/js/js_window_location.asp
我看到你想要NodeJS,服务器
var os = require("os");
var port = process.env.PORT || 8000
var url = os.hostname;
var final = url + ":" + port
// localhost:port
var hostname = os.hostname();