在本地Debian上,我采用以下方式开发:
Webpack开发服务器:

devServer: {
  host: "192.168.XX.XX",
  port: 8080,
  disableHostCheck: true,
  inline: true
}
通过运行 npm手动启动webpack开发服务器运行dev
现在可以通过192.168.XX.XX:8080 / path / to / file访问文件
在我的Apache配置中,我定义了一个反向代理,以使文件可以通过干净的路径访问:my-host.dev/ 节点 / path / to / file
Apache配置:
 ProxyPass /node/ http://192.168.XX.XX:8080/ retry=0 timeout=5
 ProxyPassReverse /node/ http://192.168.XX.XX:8080/
如果我想在ddev容器中使用相同的基本行为,是否需要定义一个新服务?或者如何路由mypackname.ddev.site/path/to/file或至少mysitename.ddev.site:8080/path/to/file可访问webpack生成的文件的端口?

最佳答案

对于初学者,我要做的就是暴露端口。最简单的技术是添加一个.ddev / docker-compose.webpack.yaml以暴露您的端口8080:

version: "3.6"
services:
  web:
    ports:
      - 8080:8080
ddev start,然后像往常一样使用它。它应该与http://<yourproject>.ddev.site:8080http://localhost:8080一起使用
一种更优雅的技术是使用ddev的内置反向代理,因此.ddev / docker-compose.webpack.yaml将具有:
version: "3.6"
services:
  web:
    expose:
      - 8080
    environment:
    - HTTP_EXPOSE=${DDEV_ROUTER_HTTP_PORT}:80,${DDEV_MAILHOG_PORT}:8025,8080:8080
    - HTTPS_EXPOSE=${DDEV_ROUTER_HTTPS_PORT}:80,${DDEV_MAILHOG_HTTPS_PORT}:8025,8081:8080
通过此设置,您将使用http://projectname.ddev.site:8080https://projectname.ddev.site:8081访问Webpack。而且由于整个事情都是通过反向代理管理的,因此可以使用相同的配置同时运行多个项目。 (而且您不必从http到https来回切换。)

关于docker - 使用ddev/docker容器中的特定端口访问webpack开发服务器输出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/64390344/

10-11 09:06