Razzle: كيفية تطبيق razzle على مشروع قائم؟

تم إنشاؤها على ٢٤ مايو ٢٠١٨  ·  11تعليقات  ·  مصدر: jaredpalmer/razzle

آسف إذا كان سؤال غير مناسب ،
تم إنشاء مشروعي بواسطة CRA وباستخدام Express.js كخلفية.
يبدو أن الطريقة الوحيدة للبدء هي إنشاء تطبيق razzle جديد وفقًا للمستندات؟
ماذا أفعل إذا كنت أرغب فقط في تطبيقه على مشروعي الحالي؟

لست متأكدًا من إمكانية ذلك .. ما لم أعد كتابة تطبيقنا

stale

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

لدي نفس السؤال. لقد قمت بإنشاء تطبيق React مخصص. كيف يمكنني دمج razzle فيه؟

ال 11 كومينتر

أنا أمر بهذا الآن بنفسي.
لقد قمت بإعداد مشروع CRA بالطريقة التالية:

/ المشاريع / my-cra-app
أسفل ما سبق ، لدي src و node_modules وكل السمة الأخرى التي أنشأتها CRA.

لم أتمكن من العثور على طريقة لخلطها مع Razzle (وفي البداية ، اعتقدت أن Razzle سيحل محل CRA ، ويمكن أن يخدم Client-render (المنفذ 3001) و Server-render (المنفذ 3000) من نفس المشروع. لكن التي لم تنجح أيضًا (لقد نشرت سؤالًا عن ذلك سابقًا ، هنا ، لكن لم أجد ردودًا).
كما أنني أستخدم أحدث إصدار من razzle (alpha) مع webpack4 ، بينما لا تزال CRA لا تزال webpack (3) على الرغم من أن بعض الالتزامات الأولية لـ webpack 4 قد هبطت الآن على فرعهم الرئيسي ...

إذن ما فعلته الآن هو ما يلي

/projects/my-app/app.src
/ projects / my-app / app-cra يحتوي على node_modules (مع ./src/ يحتوي على App.css الذي تم إنشاؤه من قبل cra)
/ projects / my-app / app-ssr يحتوي على node_modules (مع ./src/ التي تحتوي على عناصر تم إنشاؤها بواسطة razzle)

ثم يحتوي app-cra / src أيضًا على ارتباط رمزي لـ ../../app.src
ويحتوي app-ssr / src أيضًا على ارتباط رمزي لـ ../../app.src

بهذه الطريقة يمكنني مشاركة نفس المصدر ولكن نصوص مختلفة لنقاط الدخول ، ونود_وحدات مختلفة بين razzle و cra.

لسوء الحظ ، لن يقوم Razzle بترجمة / تجميع JS الخاص بك مباشرة من الدلائل المرتبطة (ولن يقوم cRA بهذا الأمر).

لذا فأنا أستخدم خاصية إعادة الأسلاك لـ CRA و razle-config.js لإرشاد كليهما للنظر في ملفات JS الخاصة بي في الدلائل ذات الروابط الرمزية.

إذا كنت تريد الاختيار في razle-config.js الذي أملكه الآن ، فيمكنك رؤيته هنا على المكدس الفائض (حيث أواجه مشكلة مع إحدى المكتبات التي أحاول استخدامها لـ SSR .. . لذلك البحث عن مساعدة بشأن تجاوز سعة المكدس لذلك).

إنه أمر معقد بعض الشيء لأنني أقوم بأكثر من razzle الافتراضي (تفاعل - أصلي - ويب ، رموز متجهية للتفاعل ، sass ، أدلة مرتبطة بالرموز ... عمليات النشر ، وما إلى ذلك)

https://stackoverflow.com/questions/50514135/error-in-react-native-vector-icons-when-using-for-web-server-side-rendering

حسنًا ، شكرًا لك على إجابتك. ما زلت لا تعرف كيفية القيام بذلك

@ ifndefdeadmau5 احتفظ بتطبيق CRA الخاص بك.

أ) أنشئ تطبيقًا جديدًا آخر باستخدام تطبيق create-razzle ، على نفس مستوى المجلد في تطبيق CRA الخاص بك.

ب) انقل الملفات التي تريد مشاركتها بين التطبيقين إلى مجلد مشترك.

ج) أنشئ روابط رمزية من دليل src الخاص بالتطبيقين ، مع الإشارة إلى المجلد الذي أنشأته في b).

د) استخدم razzle-config.js وإعادة الأسلاك (لتطبيق CRA) لتوجيه حزمة الويب لترجمة ملفات JS في الارتباطات الرمزية التي تم إنشاؤها في الخطوة ج).

لم أتمكن من اكتشاف طريقة أخرى لفعل "نعم" ، لذلك قد يكون لدى الآخرين إجابات أفضل ...

jaredpalmer مرحبًا ، هل يمكنك تقديم حل حول كيفية الترحيل من CRA إلى تطبيق عرض الخادم وتحديث المستند ذي الصلة في الملف التمهيدي؟ شكرا مقدما.

أولا! إذن ، هذه هي الصفقة ، بين المصدر المفتوح وعملي اليومي وحياتي وما هو غير ذلك ، لدي الكثير لأديره ، لذلك أستخدم GitHub bot لأتمتة بعض الأشياء هنا وهناك. سيحدد برنامج GitHub bot هذا على أنه قديم لأنه لم يكن لديه نشاط حديث لفترة من الوقت. سيتم إغلاقه إذا لم يحدث أي نشاط آخر في غضون أيام قليلة. لا تأخذ هذا على محمل الجد - فهذا إجراء آلي بالكامل. إذا كان هذا خطأ ، فما عليك سوى تقديم تعليق أو إرسال رسالة مباشرة إليّ أو إرسال بريدج ناقل أو إشارة دخان.

أغلق ProBot هذا تلقائيًا بسبب عدم النشاط. الصرخة إذا كان هذا خطأ وسنقوم بإعادة فتحه.

لدي نفس السؤال. لقد قمت بإنشاء تطبيق React مخصص. كيف يمكنني دمج razzle فيه؟

أي تحديث على هذا؟

لدي نفس السؤال يجب أن يكون هناك بعض الدروس حول هذا الموضوع.

أي تقدم معها؟

أنا أيضا أواجه مشاكل مع هذا. كان لدي تطبيق CRA يعمل بشكل مثالي وحاولت الانتقال إلى Razzle من خلال إعادة تسمية index.tsx إلى client.tsx وإضافة خادم إلى index.ts ، ولكن عندما أقوم بتشغيل razzle start يبدو أنه يحاول تجميع كود الخادم مع العميل ويلقي بأخطاء مثل

These dependencies were not found:

* fs in ../.yarn/$$virtual/babel-plugin-styled-components-virtual-cfb9253662/0/cache/babel-plugin-styled-components-npm-1.11.1-9e78975a1c-4b545bed54.zip/node_modules/babel-plugin-styled-components/lib/visitors/displayNameAndId.js, ../.yarn/cache/cosmiconfig-npm-6.0.0-cb7d64a2b9-bbd6bbaefe.zip/node_modules/cosmiconfig/dist/readFile.js and 4 others
* module in ../.yarn/cache/resolve-patch-af4189aea7-9e62d2803a.zip/node_modules/resolve/lib/normalize-options.js, ../.yarn/cache/resolve-from-npm-4.0.0-f758ec21bf-87a4357c0c.zip/node_modules/resolve-from/index.js

أي شخص لديه نفس الشيء أو لديه أي فكرة عن كيفية إصلاح هذا؟

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

howardya picture howardya  ·  5تعليقات

gabimor picture gabimor  ·  3تعليقات

corydeppen picture corydeppen  ·  3تعليقات

alexjoyner picture alexjoyner  ·  3تعليقات

ewolfe picture ewolfe  ·  4تعليقات