Razzle: Docker開発コンテナーで実行するためのrazzleの取得

作成日 2017年12月01日  ·  3コメント  ·  ソース: jaredpalmer/razzle

このリポジトリの問題を検索すると、寄稿者の中にはdockerの使用に精通している人がいるようです。そのため、誰かが私に少し助けてくれるかもしれません。 Dockerを使用して開発ワークフローを設定し、Dockerコンテナー内でhmrを反応させることができるようにしようとしています。 目標は、基本のrazzle-create-appプロジェクトをあまりハッキングすることなく、実用的なソリューションを入手することです。 次のようにdockerfileを作成しました。

FROM node:6

WORKDIR /home/node/app

EXPOSE 3000
EXPOSE 3001

CMD ["npm", "start"]

次に、devディレクトリをボリュームとしてマウントした状態でコンテナを起動しています。
docker run --name hmr-test -d -p 8080:3000 -p 3001:3001 -v C:\Users\charles\Desktop\docker-hmr-test\ui-service:/home/node/app docker-hmr

アプリは正しく実行および表示されますが、razzleはローカルファイルシステムで行われた変更を取得しません。 コンテナでbashを実行し、ファイルをcatすると、ファイルが正しく更新され、razzleがコンテナ内の正しいディレクトリから開始されていることがわかります。それでは、なぜrazzleがファイルを認識して再構築しないのでしょうか。

最も参考になるコメント

この問題は、Dockerで実行されている既知の問題と関係があります。 Windows環境からコンテナーを実行しても、ファイルイベントはネイティブ機能を備えたDockerコンテナーに伝達されません。 ネイティブ機能が実装されるまでの現在の回避策は、DockerコンテナーでWebpackポーリングを使用して、Webpackがファイルシステムの変更をポーリングできるようにすることです。 したがって、これをrazzle.config.jsファイルに追加して、hmrに更新を表示させる必要があります。

       if(config.devServer){
            config.devServer.watchOptions['poll'] = 1000;
            config.devServer.watchOptions['aggregateTimeout'] = 300;
        }

@jaredpalmerこれがあなたが機能ブランチを作ってもらいたいものなら、私はPRのために何かを作ることができます。 私に知らせて。 この素晴らしいスターターキットを作ってくれてありがとう。

全てのコメント3件

この問題は、Dockerで実行されている既知の問題と関係があります。 Windows環境からコンテナーを実行しても、ファイルイベントはネイティブ機能を備えたDockerコンテナーに伝達されません。 ネイティブ機能が実装されるまでの現在の回避策は、DockerコンテナーでWebpackポーリングを使用して、Webpackがファイルシステムの変更をポーリングできるようにすることです。 したがって、これをrazzle.config.jsファイルに追加して、hmrに更新を表示させる必要があります。

       if(config.devServer){
            config.devServer.watchOptions['poll'] = 1000;
            config.devServer.watchOptions['aggregateTimeout'] = 300;
        }

@jaredpalmerこれがあなたが機能ブランチを作ってもらいたいものなら、私はPRのために何かを作ることができます。 私に知らせて。 この素晴らしいスターターキットを作ってくれてありがとう。

@alexjoyner聖なるモリー。 これを理解してくれてありがとう。 私はJavaScriptの人ではないので、これは私を大いに助けてくれました。

設定が機能しませんでした。 更新されているように見えますが、ブラウザには表示されません。

次のログは、起動とファイルへの変更を示しています。

0|razzle   |
0|razzle   | > [email protected] start /app/razzle/razzle
0|razzle   | > razzle start
0|razzle   |
0|razzle   |  WAIT  Compiling...
0|razzle   |
0|razzle   | ℹ Compiling Client
0|razzle   | ℹ 「wds」: Project is running at http://apps.syntapse.co.uk:3001/
0|razzle   | ℹ 「wds」: webpack output is served from undefined
0|razzle   | ℹ 「wds」: Content not from webpack is served from /app/razzle/razzle
0|razzle   | ℹ 「wds」: 404s will fallback to /index.html

0|razzle  | ✔ Client: Compiled successfully in 8.28s
0|razzle  | ℹ Compiling Server
0|razzle  | ✔ Server: Compiled successfully in 765.85ms
0|razzle  | Warning: Please use `require("react-router-dom").Route` instead of `require("react-router-dom/Rout0|razzle  | Warning: Please use `require("react-router-dom").Switch` instead of `require("react-router-dom/Swi0|razzle  | ✅  Server-side HMR Enabled!
0|razzle  | 🚀 started
0|razzle  | ℹ Compiling Server
0|razzle  | ✔ Server: Compiled successfully in 88.70ms
0|razzle  | 🔁  HMR Reloading `./server`...
0|razzle  | [HMR] Updated modules:
0|razzle  | [HMR]  - ./src/Home.js
0|razzle  | [HMR]  - ./src/App.js
0|razzle  | [HMR]  - ./src/server.js
0|razzle  | [HMR] Update applied.
0|razzle  | ℹ Compiling Client
0|razzle  | ✔ Client: Compiled successfully in 73.55ms
0|razzle  | ℹ Compiling Client
0|razzle  | ✔ Client: Compiled successfully in 228.31ms
このページは役に立ちましたか?
0 / 5 - 0 評価

関連する問題

GouthamKD picture GouthamKD  ·  3コメント

Ronny25 picture Ronny25  ·  5コメント

sebmor picture sebmor  ·  4コメント

pseudo-su picture pseudo-su  ·  3コメント

mhuggins picture mhuggins  ·  3コメント