设置webpack以通过HTTPS在自定义域上本地运行

pmc*_*ote 12 javascript localhost reactjs webpack webpack-dev-server

为了使用我想要集成到我的应用程序中的模块(我在本地开发),我必须做两件事:
1)让我的应用程序在HTTPS上本地运行.
2)使用特定域运行应用程序.

使用我用于本地开发的Webpack开发服务器这两件事情应该非常简单,但由于某种原因,它不能像文档建议的那样工作.

我的webpack.config档案是:

module.exports = {
  entry: './app/js/app.js',
  output: {
    path:'./app/js/',
    publicPath: 'https://specialurl.com/assets',
    filename:'bundle.js'
 }
Run Code Online (Sandbox Code Playgroud)

我指向的路径已添加到我的计算机上的hosts文件中,因此它应该与localhost默认值一样有效.

我的package.json文件有这个作为开发服务器的启动脚本:

"scripts": {
"start": "webpack-dev-server --progress --colors --https",
}
Run Code Online (Sandbox Code Playgroud)

我做了这些更改,然后在保存后我以npm start重新启动.问题是服务器仍然没有在https上运行,当我将浏览器指向新链接时,它只显示任何内容.我发现的所有文档看起来都应该有效,所以我必须遗漏一些明显的东西.

pmc*_*ote 27

解决了!事实证明,按照我的预期,使用Webpack非常容易,但文档有点令人困惑.

您只需编辑主机文件以包含所需的域,然后将以下代码添加到webpack.config:

 devServer: {
  host: "localhost.specialurl.com",
  port: 1234,
  https: true
},
Run Code Online (Sandbox Code Playgroud)

运行npm start并将浏览器指向https://localhost.specialurl.com:1234/webpack-dev-server,您应该全部设置:)

  • 有什么运气可以和`hot:true`一起工作吗?该应用程序适用于自定义域,但webpack不断尝试打开与localhost:3000的socket.io连接. (6认同)
  • 你是如何编辑主机文件的?`127.0.0.1 localhost.specialurl.com`? (6认同)
  • 是的,必须添加`127.0.0.1 localhost.specialurl.com` 才能使其工作 (2认同)
  • 将 127.0.0.1 localhost localhost.specialurl.com 添加到我的 Windows 主机文件中可以正常工作。另一种方法是,如果您拥有该域的控制权,则可以向该域添加 A 记录,并将 localhost.specialurl.com 指向 IP 地址 127.0.0.1。例如,如果您 p​​ing localhost.huawei.com,它会解析为 127.0.0.1。 (2认同)