javascript - 如何使用 RequireJS 确定系统环境变量

标签 javascript requirejs

在过去开发客户端应用程序时,我总是使用某种服务器端应用程序来打包和提供 JavaScript。这使我能够将环境变量传递给在生产环境和开发环境之间变化的客户端。

我正在使用 RequireJS 开发纯客户端应用程序,并使用静态 Web 服务器为其提供服务。某些配置会有所不同,具体取决于应用程序是在本地开发中运行还是在生产中运行(即,它将向其发出 AJAX 请求的服务器的 URL)。

使用 RequireJS 确定当前环境的最佳方法是什么?

最佳答案

我发现的另一种方法是直接使用 RequireJS 配置。从 RequireJS 1.1 开始,可以包含任意配置值。在我的主要配置中,我设置了 env: 'development' 并在构建期间(使用 r.js)将值设置为 'production'

我创建了一个 config 目录,其中包含两个文件:development.jsproduction.js。可以使用 Require 插件加载正确的文件(我们称之为 env):

define(function() {

    return {
        load: function(name, req, load, config) {
            if (!config.env || config.isBuild) {
                config.env = 'production';
            }

            var path = name + '/' + config.env;
            req([path], function(mod) {
                load(mod);
            });
        }
    };

});

下面是我的使用方法:

var config = require('env!config');

关于javascript - 如何使用 RequireJS 确定系统环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14443395/

相关文章:

JavaScript:字符串提取

javascript - namespace 对象如何在 JavaScript 中与 AMD 一起使用?

javascript - 如何使用jQuery,RequireJS和KnockoutJS创建基本的TypeScript项目

javascript - 在nodejs、express和angular1.x中动态上传指定路径的所有文件

PHP 和 JavaScript : How to protect web hacker for post and get method?

javascript - 宽度等于动态高度平方

javascript - 如何过滤 JavaScript map ?

javascript - Web Worker 中的 RequireJS

javascript - 如何将 Yii2 与 require.js 一起使用?

javascript - 在单元测试中重置模块