如何在启动Grunt dev服务器(Grunt contrib connect)时将AngularJS应用程序的变量指定为命令行参数

如何在启动Grunt dev服务器(Grunt contrib connect)时将AngularJS应用程序的变量指定为命令行参数,angularjs,gruntjs,yeoman,yeoman-generator-angular,grunt-contrib-connect,Angularjs,Gruntjs,Yeoman,Yeoman Generator Angular,Grunt Contrib Connect,在我的生产环境中,Angular应用程序与API在同一个域下提供服务,因此基本url的形式为“例如/API” 问题是,当我开发时,我使用grunt Service(grunt contrib connect)作为我的开发服务器,我想在启动API端点时为它指定一个基本url,例如grunt Service--Endpoint=”http://localhost/api" 我知道我可以使用grunt.option获得该值,但我不知道如何将其传递到我的Angular应用程序 注意:这不是典型的生产/开

在我的生产环境中,Angular应用程序与API在同一个域下提供服务,因此基本url的形式为“例如/API”

问题是,当我开发时,我使用grunt Service(grunt contrib connect)作为我的开发服务器,我想在启动API端点时为它指定一个基本url,例如grunt Service--Endpoint=”http://localhost/api"

我知道我可以使用grunt.option获得该值,但我不知道如何将其传递到我的Angular应用程序

注意:这不是典型的生产/开发配置拆分。我希望每次启动开发服务器时都指定端点

有什么解决办法吗?越简单越好

这就是你想要的:

在Gruntfile.js中,您将指定和ENV变量:

grunt.initConfig({
  env: {
    development: {
      ENV: 'development'
    },

    production: {
      ENV: 'production'
    }
  },

  // ...
在客户端代码的某个地方,比如在my settings.js文件中,您将执行以下操作:

// @if ENV='development'
'api_base_url': 'http://localhost:' + (apiPort || 4000),
'base_url': 'http://localhost:7777',
'env': 'development'
// @endif