【发布时间】:2018-05-23 15:12:15
【问题描述】:
我不知道如何问这个问题,所以我将描述我在做什么,我希望得到一些启发。
我正在使用 node 和 express 进行服务器端渲染。
当我开发网络应用程序时,有一个模块包含一个变量,该变量在所有快速路由之间共享,而不是硬编码。
config.js
module.exports = {
ipAddress: "http://localhost:8080"
}
index.js 路由
var config = require("../../config.js");
router
.get('/', function (req, res) {
var html = `
<div class="content">
<a href="${config.ipAddress}/orders">Orders</a>
<a href="${config.ipAddress}/invoices">Invoices</a>
</div>
`
res.send(html);
});
module.exports = router;
部署应用时,我手动将config.js更改为服务器的IP地址:
module.exports = {
ipAddress: "http://255.255.255.255"
}
另一个例子是 HTML 头部中引用的 scripts.js 文件,它处理 DOM 的更改。同样,服务器 IP 地址被放置在变量中。
scripts.js
var ipAddress = "http://localhost:8080"; // To be changed into "http://255.255.255.255"
function placeOrder() {
fetch(`${ipAddress}/place-order`, {
method: "POST",
headers: {
"Accept": "application/json",
"Content-type": "application/json"
}
})
.then((res) => res.json())
.then((data) => xonsole.log(data))
.catch((err) => console.log(err));
}
document.getElementById("submit-order").addEventListener("click", () => placeOrder());
自动处理这些变量更改的正确方法是什么?
【问题讨论】:
-
使用dotenv 包。
标签: javascript node.js express