1

Я пытаюсь добавить grunt-connect-proxy в свой файл gruntfile.js в проект-генератор с угловым генератором (генератор-угловой 0.15.1), но я могу Кажется, это заставляет его работать так, как это записано, и я неопытен в том, как работает Грунт.Добавление grunt-connect-proxy в генератор-угловой файл gruntfile.js

Я прочитал много сообщений об этом, и никто из них не является особенно актуальным, и файл grunt, по-видимому, часто меняется в том, как он реализует промежуточное ПО для работы с печью. Это делает невозможным работу документации для 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; 
      } 
     } 
    } 

Может ли кто-нибудь помочь мне перевести документацию на новый способ написания части промежуточного программного обеспечения?

Спасибо!

ответ

1

Таким образом я получил некоторую помощь, и это то, как она была решена:

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) 
     ); 
     } 
    } 
    } 

Надеется, что это помогает кто-то другое тоже.

+0

Вы могли бы заставить это работать для 'grunt serve: dist' ?? – HoppyKamper