Razzle: جارٍ تشغيل Razzle للتشغيل في حاوية Docker dev

تم إنشاؤها على ١ ديسمبر ٢٠١٧  ·  3تعليقات  ·  مصدر: jaredpalmer/razzle

من خلال البحث في المشكلات الموجودة في هذا الريبو ، يبدو أن بعض المساهمين على دراية باستخدام عامل الإرساء ، لذلك ربما يمكن لشخص ما أن يقدم لي القليل من المساعدة. أحاول الحصول على سير عمل تطوير تم إعداده باستخدام عامل الإرساء وأن أكون قادرًا على الحصول على 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 في الحاوية وقطعت الملفات ، يمكنني أن أرى أنها يتم تحديثها بشكل صحيح وأن razzle يبدأ من الدليل الصحيح في الحاوية ، فلماذا لا يتعرف razzle على الملفات ويعيد البناء؟

التعليق الأكثر فائدة

هذه المشكلة لها علاقة بمشكلة معرفة تعمل في عامل الإرساء. لا يؤدي تشغيل حاوية من بيئة Windows إلى توصيل أحداث الملف إلى حاوية عامل الإرساء بوظائفها الأصلية. يتمثل الحل الحالي حتى يتم تنفيذ الوظيفة الأصلية في استخدام استقصاء حزمة الويب في حاوية عامل الإرساء للسماح لحزمة الويب بالتصويت على تغييرات نظام الملفات. لذلك ، يجب عليك إضافة هذا إلى ملف razzle.config.js للحصول على hmr لرؤية التحديثات:

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

jaredpalmer إذا كان هذا شيئًا تريد أن يكون لديك فرع خاص به ، فيمكنني العمل على شيء ما للعلاقات العامة. فقط دعني اعرف. شكرا لصنع هذه المجموعة الرائعة.

ال 3 كومينتر

هذه المشكلة لها علاقة بمشكلة معرفة تعمل في عامل الإرساء. لا يؤدي تشغيل حاوية من بيئة Windows إلى توصيل أحداث الملف إلى حاوية عامل الإرساء بوظائفها الأصلية. يتمثل الحل الحالي حتى يتم تنفيذ الوظيفة الأصلية في استخدام استقصاء حزمة الويب في حاوية عامل الإرساء للسماح لحزمة الويب بالتصويت على تغييرات نظام الملفات. لذلك ، يجب عليك إضافة هذا إلى ملف razzle.config.js للحصول على hmr لرؤية التحديثات:

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

jaredpalmer إذا كان هذا شيئًا تريد أن يكون لديك فرع خاص به ، فيمكنني العمل على شيء ما للعلاقات العامة. فقط دعني اعرف. شكرا لصنع هذه المجموعة الرائعة.

تضمين التغريدة شكرا لكشف ذلك. أنا لست رجل جافا سكريبت ، لذلك ساعدني هذا كثيرًا.

التكوين لم يعمل بالنسبة لي. يبدو أنه يتم تحديثه ولكن لا يتم رؤيته في المتصفح.

يظهر السجل التالي بدء التشغيل والتغيير إلى ملف.

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 التقييمات