2017-05-29 83 views
1

求解:所以解決方案實際上很簡單。首先,我進入了webpack並添加了「--https」標誌。但是因爲我使用的是themeforest的模板,所以模板開發者在localhost:3003中硬編碼以提供文件。我只是搜索了3003,並在webpack.config中找到了一行代碼,我將其更改爲'https://localhost:3003',這就是我所需要做的!通過https服務一個'本地主機'網絡客戶端使用npm

我正在構建一個使用角度的前端客戶端。我在調用API時遇到了問題,因爲服務器需要通過https發送所有請求。

現在,當使用'npm start'我的項目運行在http://localhost:3003。我如何將其更改爲https://localhost:3003

我對服務器和SSL沒有經驗 - 所以試圖找出在開發過程中最簡單的方法。

我正在使用angular和webpack服務器。下面就來看看我的package.json

"tslint": "tslint", 
 
"server:hmr": "npm run server -- --inline --hot", 
 
"server": "webpack-dev-server --open --progress --profile --watch --port 3003", 
 
"start": "npm run server", 
 
"start:hmr": "npm run server:hmr"

UPDATE:還沒有想通了這一點。我在webpack上運行(不是角度cli)。我迄今爲止嘗試過的解決方案,例如添加-https標誌或serve-https npm庫都沒有奏效。這兩種方法都將加載通過https我的web應用程序的文件 - 但我得到一個404錯誤「無法加載webpack.js」

+0

[的WebPack開發服務器上運行的HTTPS /網絡套接字安全(的可能的複製https://stackoverflow.com/questions/26663404/webpack-dev-server-running-on-https-web-sockets-安全) –

+0

您現在正在運行一個本地實例嗎?如果是的話,那麼先通過https加載之後再部署您的應用。我在gh頁面上部署了一個這樣的應用程序。你可以檢查 https://rahulrsingh09.github.io/AngularConcepts –

+0

我可以部署我的應用程序來解決這個問題 - 但那麼我將如何繼續通過https從開發環境調用API?我想通過https撥打本地實例/本地主機 –

回答

1

運行帶有https標誌的w​​ebpack-dev-server。

webpack-dev-server --open --https --progress --profile --watch --port 3003 
+0

這不起作用,因爲我得到一個混合內容錯誤:混合內容:'https:// localhost:3003 /'頁面通過HTTPS加載,但請求一個不安全的腳本'http:// localhost:3003/js/main.js'。此請求已被阻止;內容必須通過HTTPS提供。有沒有辦法來解決這個問題? –

+0

請檢查您是否使用'http://'請求JavaScript文件。您應該使用'https://'來請求.js文件。 –

0

嘗試發球-HTTPS,這是一個簡單的HTTPS靜態文件服務器:https://www.npmjs.com/package/serve-https

+0

,這看起來不錯,但我不知道足以讓它工作。我將如何將其整合到我的應用程序?我是否將「serve-https -p 3003」與npm start結合起來? –

+0

在該頁面上給出說明和示例。您使用serve-https而不是npm-start。 –

+0

是的,我用serve-https -p 3003,仍然沒有運氣。我只是看到一個目錄到我的應用程序 - 我可以點擊SRC文件夾,但是沒有找到webpack的404。 (index):43 GET https://localhost.daplie.me:3003/webpack-dev-server.js 404(Not Found) –

相關問題