Javascript 动态开发或产品API域令牌替换的Grunt配置?

Javascript 动态开发或产品API域令牌替换的Grunt配置?,javascript,gruntjs,Javascript,Gruntjs,我们正在使用grunt.js作为构建工具,并要求它区分生产版本和开发版本 我们需要在两者之间连接一个大型API,它们需要两个独立的域。例如,dev.com或prod.com 您将如何使用grunt标记替换dev或prod之间的不同域(在源代码中) 换句话说,grunt如何有条件地配置动态域名并在源代码中替换它,作为dev/prod构建过程的结果 更新:看起来grunt字符串替换或grunt替换可能是答案 此上的任何输入?Grunt在节点中运行,当您在prod中运行节点时,您可以设置node\u

我们正在使用grunt.js作为构建工具,并要求它区分生产版本和开发版本

我们需要在两者之间连接一个大型API,它们需要两个独立的域。例如,dev.com或prod.com

您将如何使用grunt标记替换dev或prod之间的不同域(在源代码中)

换句话说,grunt如何有条件地配置动态域名并在源代码中替换它,作为dev/prod构建过程的结果

更新:看起来grunt字符串替换或grunt替换可能是答案


此上的任何输入?

Grunt在节点中运行,当您在prod中运行节点时,您可以设置
node\u ENV=production Grunt
(在命令提示符中)。您应该能够通过
process.env.NODE\u env
从grunt文件中访问变量。您可以随意命名您的环境,但生产开发是相当标准的(我也使用本地在本地机器上开发)

您也可以传入自己的自定义参数:
grunt--param=value
并从grunt文件中通过
grunt.option(“param”);//=>“值”

  • grunt字符串替换看起来不错
我要试试看

以下是答案的一部分:

//STRING-REPLACE-.
//Domain-Tokens for different builds. Multiple file, multiple replacement.
,
'string-replace': {
  dist: {
    files: {
      'dest/': 'tokenreplace.js'
    },
    options: {
      replacements: [
      {
        pattern: 'Domain-Token',
        replacement: 'hello from domain token.'
      }]
    }
  }
}

你现在把国旗存放在哪里?