Rumah  >  Soal Jawab  >  teks badan

Tajuk yang ditulis semula ialah: Bagaimanakah saya boleh mengakses kedai Pinia dalam aplikasi VueJS kanak-kanak?

Saya sedang mencipta perpustakaan untuk menggunakan semula aplikasi VueJS dalam beberapa projek lain. Ia adalah pemalam yang menjana dan memaparkan borang dalam mana-mana projek VueJS.

Saya menggunakan pinia sebagai kedai di perpustakaan ini dan Vite untuk membinanya. Bagaimanakah saya boleh menjadikan storan perpustakaan boleh dibaca pada tahap projek yang mengimportnya? Masalah saya ialah dalam sambungan krom untuk VueJS saya tidak mempunyai akses kepada kedai.

Contoh dari perpustakaan saya mencipta kedai ini di perpustakaan:

dalam main.ts 文件中,我有 install kaedah:

export default {
  install: (app: App, options: PluginOptions) => {
    app.component('UsfBuilder', UsfBuilder)

    app.use(createPinia())
  },
}

...tetapi dalam sambungan Vue saya, saya hanya melihat gedung aplikasi dan bukan kedai perpustakaan...


Saya tahu ia berfungsi kerana apabila saya menggunakan "console.log" di stor perpustakaan, elemen status menunjukkan nilai yang betul!

Timbunan:


P粉680487967P粉680487967294 hari yang lalu527

membalas semua(1)saya akan balas

  • P粉574268989

    P粉5742689892023-12-30 00:33:05

    Saya menemui penyelesaiannya di reddit. Jika anda menggunakan Pina untuk membina perpustakaan, ia mesti ada dalam vite.config.ts 文件中的 rollupOptions 中添加 Pinia 选项外部和全局:

    export default defineConfig({
      //...
    build: {
        commonjsOptions: {
          esmExternals: true,
        },
        lib: {
          entry: resolve(__dirname, 'src/main.ts'),
          name: 'Formbuilder',
          fileName: 'formbuilder-plugin',
        },
        rollupOptions: {
          external: ['vue', 'pinia'],
          output: {
            globals: {
              vue: 'Vue',
              pinia: 'pinia',
            },
          },
        },
      },
    })
    

    balas
    0
  • Batalbalas