0

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

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

我知道我可以使用 grunt.option 获得这个值,但是我不知道如何将它传递给我的 Angular 应用程序。

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

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

4

1 回答 1

0

这就是你想要的:https ://github.com/jsoverson/grunt-env

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

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

    production: {
      ENV: 'production'
    }
  },

  // ...

在您的客户端代码中的某处,例如在我的 settings.js 文件中,您将执行以下操作:

// @if ENV='development'
'api_base_url': 'http://localhost:' + (apiPort || 4000),
'base_url': 'http://localhost:7777',
'env': 'development'
// @endif
于 2015-01-12T19:22:07.057 回答