Dva: لماذا يحتوي Dva على جميع التعليمات البرمجية في ملف index.js؟ هل يوجد عرض تجريبي معبأ في كتل؟

تم إنشاؤها على ٢٣ ديسمبر ٢٠١٦  ·  19تعليقات  ·  مصدر: dvajs/dva

لماذا يحتوي Dva على جميع التعليمات البرمجية في ملف index.js؟ هل يوجد عرض تجريبي معبأ في كتل؟

question

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

ال 19 كومينتر

ألقيت نظرة ووجدت أن هذه الحزمة في نفس الملف ولم يتم فصلها؟

تحميل عند الطلب المرجع: https://github.com/dvajs/dva/tree/master/examples/dynamic-load

لا يتم التحميل عند الطلب ، ولكن يتم منع التغليف ...

لفك ضغط إدخال ، يمكنك تجربة

مشروع Vue الذي كتبته ، يتم تنفيذ مشروع Vue على النحو التالي:
التوجيه:
const Login = r => require.ensure([], () => r(require('../components/login/Login.vue')), 'user') export default new Router({ mode: 'history', scrollBehavior: () => ({ y: 0 }), routes: [ { name: 'login', path: '/login', component: Login } ] })
حزمة الويب:
output: { path: config.build.assetsRoot, publicPath: process.env.NODE_ENV === 'production' ? config.build.assetsPublicPath : config.dev.assetsPublicPath, filename: '[name].js' },
لكن تكوين هذا في dva لا يسري

أليس هذا مجرد تحميل عند الطلب؟

لا ، فهو يقوم أيضًا بتنفيذ حزم الحزم ، على سبيل المثال ، هناك مساران على نظامي: أ ، ب ؛
بغض النظر عن الوصول إلى a أو b في مشروع dva ، فإن index.js المطلوب ؛ تحتوي جميعها على الكود المنطقي لـ a و b ؛
في مشروع vue ، للوصول إلى الصفحة a ، يكون js المطلوب هو a.index.js ، وللوصول إلى الصفحة b ، فإن js المطلوب هو b.index.js.ليست شاملة بشكل متبادل

https://github.com/dvajs/dva/blob/master/examples/dynamic-load/router.js#L6 -L27
تُستخدم هذه الفقرة لتحقيق تأثير مشروع vue الذي وصفته.

لقد رأيت رمز هذا التوجيه الديناميكي ، لكنني لم أدرك الفكرة في مشروع vue. الكود الحالي لدي هو مثل هذا
`const تسجيل الدخول = c => need.ensure ([] ، يتطلب => (
app.model (يتطلب ('./ Models / login / loginModel')) ،
ج (خالية ، تتطلب ('./ المسارات / تسجيل الدخول / تسجيل الدخول'))
)) ؛

const Main = c => need.ensure ([] ، تتطلب => (
app.model (تتطلب ('./ Models / main / mainModel')) ،
ج (خالية ، تتطلب ('./ المسارات / الرئيسي / الرئيسي'))
)) ؛

وظيفة interceptPermissions () {
رمز const = kits.getCookies ('tf-token') ؛
const uid = kits.getCookies ('tf-uid') ؛
إذا (! uid ||! الرمز المميز) {
app._store.dispatch (routerRedux.replace ('/ تسجيل الدخول'))
}
}

إرجاع getComponent = {(الموقع ، رد الاتصال) => تسجيل الدخول (رد الاتصال)} />
onenter = {interceptPermissions ()}
getComponent = {(location، callback) => Main (callback)}>




"
لم يتم تنفيذه ، بغض النظر عن تشغيله ، بدء أو إنشاء كل التعليمات البرمجية يتم إخراجها إلى ملف index.js

علامة

علامة

علامة

https://github.com/dvajs/dva/tree/master/examples/dynamic-load
تمت إزالته ، أين يمكنني رؤية تكوين dva عند الطلب؟شكرا لك

علامة

AlaiNiGuests المستند الموجود في عنوانك ، ألقيت نظرة عليه ، لا ينبغي استخدامه على dva 2.x أو أعلى؟
هل صيغة جهاز التوجيه التفاعلي 3.x أم 4.x؟

علامة

كيف حلها الملصق الأصلي؟ هل يمكنك نشر الرمز؟ شكرا جزيلا!

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