ExpressJS - 在开发中使用本地文件,在生产中使用 Azure Blob 存储中的文件

ExpressJS - Using local files in development and files from Azure Blob Storage in production

我计划在 express 上重新构建一个应用程序,其中包含从 azure blob 存储中检索到的静态资产。在我的 jade 文件和 Sass 中切换引用的最简单方法是什么,以便在工作时 locally/development,express 查找本地资产,而在推送到生产环境时它从 azure 查找资产?

我在构建过程中使用 Gulp,所以在构建过程中进行构建更好,还是直接在应用程序中作为一种方法?

为了这个答案,我假设两个环境(prod 和 testing/development)都是 Linux。

在环境 运行 您的 express 服务中,您可以执行以下命令,这将使 express 了解它 运行 在哪个环境中。这将在重新启动时保存状态。将 "production" 替换为服务在该机器 (development/production/testing/etc) 上的任何环境 运行。

$ echo export NODE_ENV=production >> ~\.bash_profile
$ source ~/.bash_profile

现在,在您的 app.js 文件中,您可以通过修改以下代码片段来配置您的应用程序引用:

app.configure('development', function() {
    // Set an application variable to use local resources
});

app.configure('production', function() {
    // Set an application variable to use Azure Blob Storage
});