2015-05-06 4 views
2

У меня есть Gruntfile.js config для моего приложения AngularJs, созданного Yeoman. Я изменил протокол на https. Таким образом, теперь он обслуживает все файлы на https://localhost:9000.Как изменить конфигурацию yeoman для правильной работы с лифтом

... 
connect: { 
    options: { 
     port: 9000, 
     protocol: 'https', 
     hostname: 'localhost', 
     livereload: 35729, 
     ... 

Теперь он обслуживает все файлы на https://localhost:9000/. Я также добавил серт & ключ к LiveReload конфигурации:

livereload: { 
     options: { 
      key: grunt.file.read('livereload.key'), 
      cert: grunt.file.read('livereload.crt'), 

Но это по-прежнему не загружается livereload.js из https://localhost:35729/livereload.js?snipver=1Failed to load resource: net::ERR_CONNECTION_CLOSED я могу открыть HTTP соединение и нагрузки livereload.js в браузере на http://localhost:35729/livereload.js?snipver=1

Что должен Я перехожу на службу livereload.js на https?

ответ

1

У меня была такая же проблема. И, наконец, я понял, как настроить его в Угловом генераторе.

Под grunt.initConfig.connect.options, замените «LiveReload: 35729» со следующей установкой:

livereload: { 
       port: 35729, 
       key: grunt.file.read('livereload.key').toString(), 
       cert: grunt.file.read('livereload.crt').toString(), 
      }, 

Поскольку Gruntfile использует ссылку настройки для часов, мы можем установить от оригинала место.

После этого параметра я также добавил <script src="https://localhost:35729/livereload.js"></script> в свой html-файл и использую htmlprocess, чтобы удалить его из сборки release.

Надеюсь, это поможет.

Приветствия,

Пэн

0

Первое: (внутри объекта connect.options)

livereload: true || port(default is 35729) <-- this inject the html snipet in index 

После изменения этого: (внутри объекта часов)

js : { 
    files : ['<%= yeoman.app %>/scripts/{,*/}*.js'], 
    tasks : ['newer:jshint:all', 'newer:jscs:all'], 
    options: { 
     livereload: { 
      port: 35729, 
      key : grunt.file.read('./certs/server.key').toString(), 
      cert: grunt.file.read('./certs/server.crt').toString(), 
     } 
    } 
} 

и этот :

livereload: { 
    options: { 
     livereload: { 
      port: 35729, 
      key : grunt.file.read('./certs/server.key').toString(), 
      cert: grunt.file.read('./certs/server.crt').toString(), 
     } 
    }, 
    files : [ 
     '<%= yeoman.app %>/{,*/}*.html', 
     '.tmp/styles/{,*/}*.css', 
     '<%= yeoman.app %>/images/{,*/}*.{png,jpg,jpeg,gif,webp,svg}' 
    ] 
} 

Или вы можете определить объект конфигурации:

lr: { 
     port: 35729, 
     key : grunt.file.read('./certs/server.key').toString(), 
     cert: grunt.file.read('./certs/server.crt').toString(), 
    }, 

и использовать его как это:

js : { 
    files : ['<%= yeoman.app %>/scripts/{,*/}*.js'], 
    tasks : ['newer:jshint:all', 'newer:jscs:all'], 
    options: { 
     livereload: '<%= lr %>' 
    } 
}