Razzle: Menjalankan razzle di wadah dev Docker

Dibuat pada 1 Des 2017  ·  3Komentar  ·  Sumber: jaredpalmer/razzle

Dari menelusuri masalah di repo ini, tampaknya beberapa kontributor sudah terbiasa menggunakan buruh pelabuhan, jadi mungkin seseorang bisa memberi saya sedikit bantuan. Saya mencoba mengatur alur kerja pengembangan dengan buruh pelabuhan dan dapat membuat hmr dengan bereaksi di dalam wadah buruh pelabuhan. Tujuannya adalah untuk mendapatkan solusi yang berfungsi tanpa banyak meretas proyek aplikasi dasar razzle-create. Saya telah membuat file docker saya sebagai berikut:

FROM node:6

WORKDIR /home/node/app

EXPOSE 3000
EXPOSE 3001

CMD ["npm", "start"]

kemudian saya memulai wadah dengan direktori dev dipasang sebagai volume dengan
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

Aplikasi berjalan dan ditampilkan dengan benar, tetapi razzle tidak mengambil perubahan apa pun yang dibuat pada sistem file lokal. Jika saya menjalankan bash di wadah dan mengecat file, saya dapat melihat bahwa mereka memperbarui dengan benar dan razzle mulai dari direktori yang benar di wadah, jadi mengapa razzle tidak mengenali file dan membangun kembali?

Komentar yang paling membantu

Masalah ini ada hubungannya dengan masalah yang diketahui berjalan di buruh pelabuhan. Menjalankan wadah dari lingkungan windows tidak mengomunikasikan peristiwa file ke wadah buruh pelabuhan dengan fungsionalitas asli. Solusi saat ini hingga fungsionalitas asli diimplementasikan adalah dengan menggunakan polling webpack dalam wadah buruh pelabuhan untuk memungkinkan webpack melakukan polling untuk perubahan sistem file. Oleh karena itu, Anda harus menambahkan ini ke file razzle.config.js agar hmr melihat pembaruan:

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

@jaredpalmer Jika ini adalah sesuatu yang Anda inginkan untuk membuat cabang fitur, saya dapat mengerjakan sesuatu untuk PR. Kabari saja. Terima kasih telah membuat starter kit yang luar biasa ini.

Semua 3 komentar

Masalah ini ada hubungannya dengan masalah yang diketahui berjalan di buruh pelabuhan. Menjalankan wadah dari lingkungan windows tidak mengomunikasikan peristiwa file ke wadah buruh pelabuhan dengan fungsionalitas asli. Solusi saat ini hingga fungsionalitas asli diimplementasikan adalah dengan menggunakan polling webpack dalam wadah buruh pelabuhan untuk memungkinkan webpack melakukan polling untuk perubahan sistem file. Oleh karena itu, Anda harus menambahkan ini ke file razzle.config.js agar hmr melihat pembaruan:

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

@jaredpalmer Jika ini adalah sesuatu yang Anda inginkan untuk membuat cabang fitur, saya dapat mengerjakan sesuatu untuk PR. Kabari saja. Terima kasih telah membuat starter kit yang luar biasa ini.

@alexjoyner moly suci. Terima kasih untuk mencari tahu ini. Saya bukan orang javascript jadi ini sangat membantu saya.

konfigurasi tidak bekerja untuk saya. sepertinya update tapi tidak terlihat di browser.

log berikut menunjukkan startup dan perubahan ke file.

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
Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

MaxGoh picture MaxGoh  ·  4Komentar

piersolenski picture piersolenski  ·  4Komentar

dizzyn picture dizzyn  ·  3Komentar

mhuggins picture mhuggins  ·  3Komentar

Ronny25 picture Ronny25  ·  5Komentar