gpt4 book ai didi

ruby-on-rails - 使用 webpacker (webpack-dev-server) 在 docker 容器内编译而不重建

转载 作者:IT老高 更新时间:2023-10-28 12:44:35 28 4
gpt4 key购买 nike

编辑:Docker 版本 17.12.0-ce,在 OSX High Sierra 10.12.6 上构建 c97c6d6

我正在将 webpacker 包含到现有的 rails 4.2 项目中(某些部分仍然使用 sprockets),并且遇到了一些热重载问题。我的应用程序是 dockerized,我希望有一个设置,我可以在其中编辑我的 React 代码,并在我的 rails docker 容器中编译和刷新它,而无需为每个小的更改重新构建(例如 docker-compose build)。

目前我正在运行 webpack-dev-server 并正确编译代码。 webpack 开发服务器 (http://dockerhost:3035/webpack-dev-server/) 将从我的本地机器编译卷安装代码,但是当我刷新我的 rails 应用程序时,新编译的 Assets 不会出现。我的设置有什么明显的问题吗?

# webpacker.yml
development:
<<: *default

compile: true
# Reference: https://webpack.js.org/configuration/dev-server/
dev_server:
https: false
host: 0.0.0.0 #webpacker
port: 3035
public: 0.0.0.0:3035
hmr: true
# Inline should be set to true if using HMR
inline: true
overlay: true
compress: true
disable_host_check: true
use_local_ip: false
quiet: false
headers:
'Access-Control-Allow-Origin': '*'
watch_options:
ignored: /node_modules/
poll: 1000

# docker-compose.yml
version: '3'
networks:
pnet:
driver: bridge

services:
webpacker:
build: .
command: bundle exec bin/webpack-dev-server #./bin/webpack-dev-server
networks:
- pnet
volumes:
- .:/webpacker-app
working_dir: /webpacker-app
ports:
- '3035:3035'
- '8080:8080'
environment:
- NODE_ENV=development
- RAILS_ENV=development
- WEBPACKER_DEV_SERVER_HOST=0.0.0.0
web:
build: .
command: bundle exec passenger start
volumes:
- ~/tmp/pids:/usr/src/app/tmp/pids
- .:/webpacker-app
networks:
- pnet
ports:
- "3000:3000"
- "3443:3443"
depends_on:
- webpacker
environment:
- NODE_ENV=development
- RAILS_ENV=development
- WEBPACKER_DEV_SERVER_HOST=0.0.0.0

最佳答案

我对 webpacker 不太熟悉,但看看你的配置,我猜你使用 0.0.0.0:3035 地址来访问开发服务器 Assets 在您的 web 容器中,它应该是 webpacker:3035

尝试在您的 web 服务配置中更新 WEBPACKER_DEV_SERVER_HOST:

web:
...
environment:
...
- WEBPACKER_DEV_SERVER_HOST=webpacker

关于ruby-on-rails - 使用 webpacker (webpack-dev-server) 在 docker 容器内编译而不重建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49410102/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com