cari
Soal Jawab Fungsi pengiraan berasingan dikongsi oleh kompilasi Vue ke dalam pakej berasingan

0
<p>Bagaimana hendak berkongsi <kod>vue/nuxt</code>kod khusus antara pakej yang berbeza? </p> <p>Saya tidak mahu menggunakan <kod>monorepo</code>, tetapi saya mempunyai beberapa kod kongsi yang ingin saya pisahkan ke dalam pakejnya sendiri. Kod kongsi (pakej baharu) ini ditulis menggunakan <code>@nuxtjs/composition-api</code>, hanya <code>computed</code> dan <code> yang digunakan berulang kali dalam komponen berbeza /templates ;methods</code>. </p> <p>Saya tidak mahu pakej ini disediakan sebagai pemalam. Sebaliknya, import terus untuk memanfaatkan gegaran pokok (sama seperti <code>composition-api</code>). </p> <p>Saya biasa menggunakan <code>rollupjs</code> </p> <pre class="brush:php;toolbar:false;">//Pakej baharu //index.js eksport { lalai sebagai isTrue } daripada './src/isTrue' ... //src/isTrue import { dikira } daripada '@nuxtjs/composition-api' eksport lalai (p) => return computed(() => p === 'true') //Saya tidak pasti sama ada ini akan memusnahkan responsif? ! ? ! }</pre> <p>Saya tiada masalah menyusunnya ke <kod>.ssr, .esm, .min</code> format melalui <code>rollupjs</code></p> <p>Masalah berlaku apabila saya mengimport pakej baharu ke dalam fail yang berfungsi. </p> <pre class="brush:php;toolbar:false;">import { isTrue } daripada 'new-package' eksport lalai{ nama: 'testComp', persediaan(props){ kembali { isActive: isTrue(props.active) } }</pre> <p> akan menghasilkan: </p> <pre class="brush:php;toolbar:false;">[vue-composition-api] Vue.use(VueCompositionAPI) mesti dipanggil sebelum menggunakan sebarang fungsi. </pra> <p>Saya faham bahawa <code>@nuxtjs/composition-api</code> ialah pembungkus untuk VueCompositionAPI. </p> <p>Saya tidak mahu memasang pakej baharu sebagai pemalam, jadi saya meninggalkan pemasangan pakej baharu (contoh pemasangan: https://github.com/wuruoyun/vue-component-lib-starter/blob /master/src/install .js)</p>
Your Answer
serahkan

1 jawapan
0

Terpakai options API

//library.js
export default function(){ // 访问 this -> 箭头函数没有 this
   return this.disabled == true // 当使用 options api 时,这将是 vue 上下文,即属性 disabled
}

Gunakan rollupjs untuk menyusun library.js dan mengimportnya

//component.vue
import { isDisabled } from 'library'

export default {
  //Composition API:
  setup(props){
   return {
    //stuff
   }
  },
  //Options API:
  computed:{
    isDisabled,
  }
}
2023-09-02 00:26:17

serahkan

Hot Tools

vc9-vc14 (32+64 bit) koleksi perpustakaan masa jalan (pautan di bawah)

vc9-vc14 (32+64 bit) koleksi perpustakaan masa jalan (pautan di bawah)

Muat turun koleksi perpustakaan runtime yang diperlukan untuk pemasangan phpStudy

VC9 32-bit

VC9 32-bit

VC9 32-bit phpstudy pustaka masa jalan persekitaran pemasangan bersepadu

Kotak alat pengaturcara PHP versi penuh

Kotak alat pengaturcara PHP versi penuh

Programmer Toolbox v1.0 PHP Persekitaran Bersepadu

VC11 32-bit

VC11 32-bit

VC11 32-bit phpstudy pustaka masa jalan persekitaran pemasangan bersepadu

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan