试图在Grunt中设置代理并为索引获取404 - Gruntjs

时间:2013-11-16 12:34:49

标签: javascript proxy gruntjs

我正在尝试在Gruntfile中设置代理。这是我的Gruntfile.js

module.exports = function(grunt) {

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

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

  grunt.initConfig({
    dirs: {
      js: ['app/js/**/*.js', '!app/js/libs/**/*.js'],
      html: ['app/index.html'],
    },
    connect:{
      development: {
        options: {
          port: 9000,
          middleware: function(connect) {
            return [proxySnippet];
          }
        },
        proxies: {
          context: '/users',
          host: '99.44.242.76',
          port: 3000,
          https: false
        }
      }
    },
    watch: {
      options: {
        livereload: true
      },
      html: {
        files: ['<%= dirs.html %>']
      },
      js: {
        files:  '<%= dirs.js %>',
        tasks: ['jshint']
      }
    }
  });

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

在我添加中间件后,我获得了livereload Chrome扩展程序的404,然后我获得了index.html的404。

enter image description here   我怎么做才弄错了?

1 个答案:

答案 0 :(得分:0)

在gruntfile中尝试此代码,并将此模式替换为您的 gruntfile中的代理部分设置

grunt.initConfig({
    connect: {
            options: {
                port: 9000,
                hostname: 'localhost'
            },
            proxies: [
                {
                    context: '/cortex',
                    host: '10.10.2.202',
                    port: 8080,
                    https: false,
                    changeOrigin: false,
                    xforward: false
                }
            ]
        }
})

同时阅读此问题https://github.com/drewzboto/grunt-connect-proxy/issues/18

我认为你没有在选项中设置主机名。