Vue: Berikan dukungan kelas satu untuk membagi basis kode menjadi modul

Dibuat pada 4 Jul 2017  ·  4Komentar  ·  Sumber: vuejs/vue

Masalah apa yang dipecahkan fitur ini?

Berasal dari Angular 2 , salah satu fitur yang sangat saya rindukan adalah penggunaan modul untuk membagi basis kode saya menjadi unit logis. Secara teknis, saya masih bisa melakukan ini di Vue dengan menyediakan yang di bawah ini sebagai komponen router:

import Vue from 'vue';
import { routes } from './routes';

export const LazyModule: Vue.ComponentOptions<Vue> = {
  render: r => {
    console.log('rendering');
    return r('router-view');
  },
  created: function() {
    this.$router.addRoutes(routes);
  }
};

Ini berhasil tetapi saya pikir akan lebih intuitif jika ada pemisahan yang jelas antara apa itu Komponen dan Modul Vue. Secara khusus, modul tidak akan menyediakan metode render.

Seperti apa tampilan API yang diusulkan?

Ada beberapa pekerjaan yang baik menuju tujuan ini di sini . Saya juga telah menguji contoh "modul" saya sebelumnya di sini .

Pada akhirnya, saya pikir kita dapat mengharapkan beberapa dukungan dasar di Vue dan kemudian mengizinkan Vue Router dan Vuex untuk memperluasnya.

Komentar yang paling membantu

@patrickhousley , Anda dapat melihat:
Komponen Vue Async
Pemuatan Malas Vue-router
Modul async Vuex (belum digabungkan)

Semua itu dengan ssr dan pwa menghasilkan mekanisme pemecahan kode yang sangat praktis dan kinerja tinggi. Saya tahu itu banyak tetapi akan sangat mudah digunakan jika Anda berlatih.

Semua 4 komentar

@patrickhousley , Halo, saya tidak punya pengalaman dengan Angular 2, bisakah Anda mencoba menjelaskan apa sebenarnya modul itu dan apa contoh kasus penggunaan untuk itu?

IMO, dalam kerangka kerja seperti Vue/React, idenya adalah mencoba memikirkan (hampir) semuanya dengan cara Component . Jadi saya lebih suka komponen komposit daripada dengan Module .

@jkzing Setelah melihat ini lebih lanjut, saya setuju. Saya pikir apa yang sebenarnya saya cari dapat ditangani di sini . Sejujurnya, saya benar-benar hanya ingin cara untuk memisahkan aplikasi saya menjadi beberapa bagian. Router sudah dapat melakukan ini tetapi hanya pada level komponen. Rute masih harus dimuat secara statis membuat pemuatan lambat sebagian besar aplikasi sedikit bermasalah.

@patrickhousley , Anda dapat melihat:
Komponen Vue Async
Pemuatan Malas Vue-router
Modul async Vuex (belum digabungkan)

Semua itu dengan ssr dan pwa menghasilkan mekanisme pemecahan kode yang sangat praktis dan kinerja tinggi. Saya tahu itu banyak tetapi akan sangat mudah digunakan jika Anda berlatih.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat