Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将grunt连接代理添加到my Yeoman生成的GrunFile.js_Javascript_Gruntjs_Grunt Connect Proxy - Fatal编程技术网

Javascript 将grunt连接代理添加到my Yeoman生成的GrunFile.js

Javascript 将grunt连接代理添加到my Yeoman生成的GrunFile.js,javascript,gruntjs,grunt-connect-proxy,Javascript,Gruntjs,Grunt Connect Proxy,我不熟悉Grunt(一般来说是JavaScript),我正在尝试将Grunt连接代理添加到我的Yeoman生成的gruntfile(generator angular 0.10.0)中 我读过这本指南来帮我解决问题,但现在似乎不再是这样了 这就是生成的gruntfile的外观 // The actual grunt server settings connect: { options: { port: 9000, // Change this to '0.0.0.0' to

我不熟悉Grunt(一般来说是JavaScript),我正在尝试将Grunt连接代理添加到我的Yeoman生成的gruntfile(generator angular 0.10.0)中

我读过这本指南来帮我解决问题,但现在似乎不再是这样了

这就是生成的gruntfile的外观

// The actual grunt server settings
connect: {
  options: {
    port: 9000,
    // Change this to '0.0.0.0' to access the server from outside.
    hostname: 'localhost',
    livereload: 35729
  },
  proxies: [
    {
      context: '/api',
      host: 'localhost',
      port: 8080,
      https: false
    }
  ],
  livereload: {
    options: {
      open: true,
        return [
          connect.static('.tmp'),
          connect().use(
            '/bower_components',
            connect.static('./bower_components')
          ),
          connect.static(appConfig.app)
        ];
      }
    }
  },
  test: {
    options: {
      port: 9001,
      middleware: function (connect) {
        return [
          connect.static('.tmp'),
          connect.static('test'),
          connect().use(
            '/bower_components',
            connect.static('./bower_components')
          ),
          connect.static(appConfig.app)
        ];
      }
    }
  },
  dist: {
    options: {
      open: true,
      base: '<%= yeoman.dist %>'
    }
  }
},
对于此代码,请参考指南:

          base: [
        '.tmp',
        '<%= yeoman.app %>'
      ],
      middleware: function (connect, options) {
        if (!Array.isArray(options.base)) {
          options.base = [options.base];
        }

        // Setup the proxy
        var middlewares = [require('grunt-connect-proxy/lib/utils').proxyRequest];

        // Serve static files.
        options.base.forEach(function (base) {
          middlewares.push(connect.static(base));
        });

        // Make directory browse-able.
        var directory = options.directory || options.base[options.base.length - 1];
        middlewares.push(connect.directory(directory));

        return middlewares;
base:[
“.tmp”,
''
],
中间件:功能(连接、选项){
if(!Array.isArray(options.base)){
options.base=[options.base];
}
//设置代理
var middleware=[require('grunt-connect-proxy/lib/utils').proxyRequest];
//提供静态文件。
options.base.forEach(函数(基){
中间件。推送(连接。静态(基础));
});
//使目录可浏览。
var directory=options.directory | | options.base[options.base.length-1];
push(connect.directory(directory));
退货;
它将使代理工作,我从端口9000(我的angular应用程序使用)获取api。 但是它会弄乱css。我想它与bower组件有某种关系。但是我不知道如何将bower部分添加到教程代码中,或者反之亦然

非常感谢!

这是解决方案(找到了):

。。。
利弗雷罗德:{
选项:{
开放:是的,
//基数:[
//“.tmp”,
//  ''
//],
//中间件:功能(连接){
//返回[
//connect.static('.tmp'),
//连接()。使用(
//“/bower_组件”,
//连接.静态(“./bower_组件”)
//      ),
//connect.static(appConfig.app)
//  ];
//}
中间件:功能(连接、选项){
var middleware=[];
//if(!Array.isArray(options.base)){
//options.base=[options.base];
//}
//设置代理
push(require('grunt-connect-proxy/lib/utils').proxyRequest);
//提供静态文件
//options.base.forEach(函数(基){
//中间件。推送(连接。静态(基础));
//});
middleware.push(connect.static('.tmp'));
推(
连接()。使用(
“/bower_组件”,
连接.静态(“./bower_组件”)
)
);
push(connect.static(appConfig.app));
退货;
}
}
},
...
以下是解决方案(找到了):

。。。
利弗雷罗德:{
选项:{
开放:是的,
//基数:[
//“.tmp”,
//  ''
//],
//中间件:功能(连接){
//返回[
//connect.static('.tmp'),
//连接()。使用(
//“/bower_组件”,
//连接.静态(“./bower_组件”)
//      ),
//connect.static(appConfig.app)
//  ];
//}
中间件:功能(连接、选项){
var middleware=[];
//if(!Array.isArray(options.base)){
//options.base=[options.base];
//}
//设置代理
push(require('grunt-connect-proxy/lib/utils').proxyRequest);
//提供静态文件
//options.base.forEach(函数(基){
//中间件。推送(连接。静态(基础));
//});
middleware.push(connect.static('.tmp'));
推(
连接()。使用(
“/bower_组件”,
连接.静态(“./bower_组件”)
)
);
push(connect.static(appConfig.app));
退货;
}
}
},
...
谢谢。发现这个:写在你的源代码之前,所以我认为我也应该发布它。谢谢。发现这个:写在你的源代码之前,所以我认为我也应该发布它。
          base: [
        '.tmp',
        '<%= yeoman.app %>'
      ],
      middleware: function (connect, options) {
        if (!Array.isArray(options.base)) {
          options.base = [options.base];
        }

        // Setup the proxy
        var middlewares = [require('grunt-connect-proxy/lib/utils').proxyRequest];

        // Serve static files.
        options.base.forEach(function (base) {
          middlewares.push(connect.static(base));
        });

        // Make directory browse-able.
        var directory = options.directory || options.base[options.base.length - 1];
        middlewares.push(connect.directory(directory));

        return middlewares;
...
livereload: {
  options: {
    open: true,
    //base: [
    //  '.tmp',
    //  '<%= yeoman.app %>'
    //],
    //middleware: function (connect) {
    //  return [
    //      connect.static('.tmp'),
    //      connect().use(
    //          '/bower_components',
    //          connect.static('./bower_components')
    //      ),
    //      connect.static(appConfig.app)
    //  ];
    //}
    middleware: function (connect, options) {
        var middlewares = [];

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

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

        // Serve static files
        //options.base.forEach(function(base) {
        //  middlewares.push(connect.static(base));
        //});

        middlewares.push(connect.static('.tmp'));

        middlewares.push(
            connect().use(
                '/bower_components',
                connect.static('./bower_components')
            )
        );
        middlewares.push(connect.static(appConfig.app));

        return middlewares;
    }
  }
},
...