簡體   English   中英

將grunt-connect-proxy添加到生成器角度gruntfile.js

[英]Adding grunt-connect-proxy to generator-angular gruntfile.js

我試圖在一個eoman生成器角度項目(generator-angular 0.15.1)中將grunt-connect-proxy添加到我的gruntfile.js中,但是由於它的編寫方式發生了變化,我似乎無法使其正常工作對Grunt的工作方式缺乏經驗。

我已經閱讀了很多關於此的文章,並且其中的任何一篇都不是最新的,並且gruntfile似乎在實現livereload中間件的方式上經常發生變化,這使得grunt-connect-proxy的文檔在我的情況下不起作用。

棘手的部分是在livereload下

這是在生成器角度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,
      xforward: false
    }],
  livereload: {
    options: {
      open: true,

      // --- how the code looks like before I do anything

      middleware: function (connect) {
        return [
          connect.static('.tmp'),
          connect().use('/bower_components', connect.static('./bower_components')),
          connect().use('/app/styles', connect.static('./app/styles')),
          connect.static(appConfig.app)
        ];
      }
    }
  },
  ...

當我查看文檔時,它看起來像這樣:

    livereload: {
        options: {
            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,
      middleware: function(connect) {
        var middlewares = [require('grunt-connect-proxy/lib/utils').proxyRequest];
        return middlewares.concat(
          connect.static('.tmp'),
          connect().use('/bower_components', connect.static('./bower_components')),
          connect().use('/app/styles', connect.static('./app/styles')),
          connect.static(appConfig.app)
        );
      }
    }
  }

希望這也能幫助其他人。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM