javascript - 如何正确分配开发与生产变量?

标签 javascript node.js express

我不知道怎么问这个问题,所以我将描述我在做什么,我希望得到一些启发。

我将 nodeexpress 一起用于服务器端渲染。

当我开发网络应用程序时,有一个模块包含一个在所有快速路线之间共享的变量,而不是对其进行硬编码。

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());

自动处理这些变量变化的正确方法是什么?

最佳答案

是否有完全限定引用的原因?如果您的目录结构相同,您可以只使用相对引用,例如将 '${ipAddress}/place-order' 更改为 '/place-order'

关于javascript - 如何正确分配开发与生产变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50491910/

相关文章:

javascript - 更改 xlsl 工作表中的单元格值,同时保持 nodejs 格式

javascript - Twitter OAuth Request_Token 与 Javascript,可能是错误的时间?

JavaScript 函数默认参数无法正常工作

node.js - 对同一数据库的多个实例使用 sequelize

javascript - 在 expressjs 中创建模型

node.js - 如何在 Mongoose 中更新数组值

mysql - 在快速应用程序中处理 MySQL 数据库连接的模式

javascript - 在客户端突出显示文本差异?

javascript - 在js中拖动滚动时防止点击

javascript - Node.js - 禁用浏览器的 Javascript