2017-05-29 84 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) –

相关问题