0

我一直在努力使用 Grunt 设置代理。我能够连接到我的 Grunt 服务器,但是当我尝试访问代理时,我得到了 404。这是我的Gruntfile.js

"use strict";

module.exports = function(grunt) {

  var proxySnippet = require('grunt-connect-proxy/lib/utils').proxyRequest;

  require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks);

  grunt.initConfig({
    connect:{
      development: {
        port: 9000,
        base: 'app',
        keepalive: true,
        livereload: {
          options: {
            middleware: function() {
              return proxySnippet;
            }
          }
        },
        proxies: [{
          context: '/name',
          host: 'http://99.42.222.76:3000/users.json',
          changeOrigin: true
        }]
      }
    }
  });

  grunt.registerTask('server', ['configureProxies', 'connect']);
};

我试图使用这个博客来帮助我设置一切,但我仍然没有任何运气。提前致谢。

4

1 回答 1

0

至少部分问题是您不想在主机中使用完整的 URL:代理配置。根据文档(https://github.com/drewzboto/grunt-connect-proxy),主机不应包含http.

引用:

options.host

类型:字符串

要代理到的主机。不应以 http/https 协议开头。

我认为您想要的代理部分应如下所示。host 表示要代理到的 IP 地址或主机名,port 表示要代理到的端口,rewrite 表示从 /name 到 /users.json 的转换。

    proxies: [{
      context: '/name',
      host: '99.42.222.76',
      port: 3000',
      changeOrigin: true,
      rewrite: { '^/name': '/users.json' }
    }]
于 2014-04-28T20:45:18.907 回答