بناء مواقع الويب الحديثة في متصفحك دون التخلي عن الكود.
الدافع خلاف
صنعها @krogovoy و ivolchenskov
تم إنشاء Impulse للعمل مع مواقع React في وضع dev (بمعنى ، يعمل على مضيفك المحلي).
يتيح لك تحرير واجهة المستخدم الخاصة بك مباشرة في المتصفح مع تغيير الكود تلقائيًا بالطريقة التي ستفعل بها يدويًا. يشبه امتداد محرر التعليمات البرمجية يتجاوز محرر الرمز.
؟ انظر العروض التوضيحية في impulse.dev
بالمقارنة مع رمز الكتابة يدويًا:
اللغات:
المكتبات التقديم:
تفاعل الأطر والحزم:
أطر عمل CSS:
المتصفحات:
(يعتمد Impulse على واجهة برمجة تطبيقات الوصول إلى نظام الملفات التي تعمل بشكل جيد فقط في المتصفحات القائمة على الكروم)
تكامل المحرر:
هناك ثلاث طرق لمحاولة الدافع.
انسخ والصق الرمز أدناه في وحدة التحكم في المتصفح.
d = document ; s = d . createElement ( 'script' ) ; s . src = `https://cdn.jsdelivr.net/npm/@impulse.dev/runtime@latest/inject.js` ; d . body . appendChild ( s )طريقة سهلة للعب باستخدام الأداة دون تثبيت أي شيء ، ولكنها ستزول بمجرد تحديث الصفحة.
الإعداد مرة واحدة وإلى الأبد للفريق بأكمله.
npm i -D @impulse.dev/runtime@latest الصق في أي ملف يتم استيراده دائمًا. عادةً ما يكون ملف React "الرئيسي" ، مثل _app.jsx في Next.js.
if ( process . env . NODE_ENV === 'development' ) {
import ( '@impulse.dev/runtime' ) . then ( ( impulse ) => impulse . run ( ) )
} الصق هذه علامة البرنامج النصي في نهاية <body>
{
process . env . NODE_ENV === 'development' && (
< script src = "https://cdn.jsdelivr.net/npm/@impulse.dev/runtime@latest/inject.js" > </ script >
)
}هام: تأكد من عدم شحن الدافع في بناء الإنتاج الخاص بك! سوف ينفخ حجم الحزمة الخاص بك!
تقطع معظم الحزم جميع التعليمات البرمجية داخل if (process.env.NODE_ENV === 'development') { ... } ، ولكن يوصى ببناء إنتاج ومقارنة حجم الحزمة مع ما كان عليه من قبل.
بمجرد التثبيت ، يكون الدافع جاهزًا للعمل. فيما يلي بعض الأشياء التي قد ترغب في إعدادها من أجل العمل بشكل أفضل من أجلك.
إذا كنت تستخدم شجاعًا ، فقم بتمكين API للوصول إلى نظام الملفات:
file system access apiيعمل Impulse فقط إذا قمت بتشغيل بيئة التطوير الخاصة بك على نفس الكمبيوتر الذي تستخدمه المتصفح. لا يعمل Impulse مع البيئات البعيدة لأنه لا يمكن تحرير الملفات على أجهزة الكمبيوتر الأخرى.
لأسباب أمنية ، يعمل API للوصول إلى نظام الملفات فقط مع localhost : //. إذا كنت تستخدم اسم مضيف مختلف على الرغم من أن البيئة محلية ، فيجب عليك:
Insecure origins treated as secureتحرير الدافع الكود الخاص بك. بشكل افتراضي ، فإنه يحاول قصارى جهده لإجراء هذه التغييرات بأقل قدر ممكن.
ومع ذلك ، لا يعرف حقًا كيفية تنسيق الكود الخاص بك.
إذا كنت تريد أن تستخدم أجمل بعد تغيير كل رمز (موصى به) ، فمرر run() :
if (process.env.NODE_ENV === 'development') {
- import('@impulse.dev/runtime').then((impulse) => impulse.run())
+ import('@impulse.dev/runtime').then((impulse) => impulse.run({
+ prettierConfig: require('./path_to/.prettierrc.js')
+ }))
} إذا قمت بتوسيع السمة القياسية في Tailwind ، فالمرض الخاص بك tailwind.config.js run() :
if (process.env.NODE_ENV === 'development') {
- import('@impulse.dev/runtime').then((impulse) => impulse.run())
+ import('@impulse.dev/runtime').then((impulse) => impulse.run({
+ tailwindConfig: require('./path_to/tailwind.config.js'),
+ }))
}
ما يمكنك فعله:
<div></div> جديدمتطلبات:
استنساخ الريبو:
git clone [email protected]:impulse-oss/impulse.git && cd impulseتثبيت التبعيات:
npm installقم بتشغيل خادم DEV:
npm run devافتح http: // localhost: 3005/. هذا ملعب لتطوير واختبار التطبيق.