2015-05-06 51 views
2

我有Gruntfile.js配置爲我的Angoman生成的應用程序由Yeoman。我已將協議更改爲https。所以它現在提供https://localhost:9000上的所有文件。如何更改yeoman配置以正確運行livereload

... 
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'), 

但它仍然不是http://localhost:35729/livereload.js?snipver=1

https://localhost:35729/livereload.js?snipver=1Failed to load resource: net::ERR_CONNECTION_CLOSED我可以在瀏覽器中打開HTTP連接和負載livereload.js加載livereload.js應該是什麼我更改爲在https上提供livereload.js?

回答

1

我遇到了同樣的問題。最後我想出瞭如何在Angular-generator中進行設置。具有以下設置:

在grunt.initConfig.connect.options,取代「35729 livereload」:由於Gruntfile被使用用於手錶的設定參考

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

,我們可以從原來的設定地點。

完成此設置後,我還在我的html文件中添加了<script src="https://localhost:35729/livereload.js"></script>,並使用htmlprocess將其從發佈版本中刪除。

希望它有幫助。

乾杯,

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 %>' 
    } 
} 
相關問題