很奇怪...... Angular Proxy无法正常工作

时间:2015-02-18 20:26:58

标签: angularjs gruntjs yeoman yeoman-generator-angular

我正在开发 Angular / Lavaravel 项目,但我遇到了配置Grunt代理的麻烦我已经按照几个教程进行了一些研究以解决这个问题,但我还没有成功。

问题是配置的代理服务器没有重定向到它应该是的主机,我设置为将请求从/localhost:9000/api转发到/localhost:8000/api,但是当我提出请求时:

参考网址:http://localhost:9000/api/whataver
请求网址:http://localhost:9000/api/whatever

是否向同一主机发出请求,因此请求不是代理正确的,有任何建议吗?

这是我的grunt档案的一部分:

connect: {
  options: {
    port: 9000,
    // Change this to '0.0.0.0' to access the server from outside.
    hostname: '127.0.0.1',
    livereload: 35729
  },
  proxies: [
      {
          context: '/api',
          host: '127.0.0.1',
          port: 8000,
          https: false,
          changeOrigin: false
      }
  ],
  livereload: {
    options: {
      open: true,
      base: [
       '.tmp',
       '<%= yeoman.app %>'
      ],
      middleware: function (connect,options) {

        var middlewares = [];

        if (!Array.isArray(options.base)) {
          options.base = [options.base];
        }

        // Set up the proxy
        middlewares.push(require('grunt-connect-proxy/lib/utils').proxyRequest);

        //server static files
        middlewares.push(
          modRewrite(['^[^\\.]*$ /index.html [L]']),
          connect.static('.tmp'),
          connect().use(
            '/bower_components',
             connect.static('./bower_components')
          ),
          connect.static(appConfig.app)
        );
        return middlewares;
      }
    }
  }

感谢您的帮助,谢谢!

1 个答案:

答案 0 :(得分:0)

这个答案应该有所帮助

AngularJS with Grunt - Connect to another server

严格按照回答中提到的步骤检查您的代码。 你会明白的。