Vue コンパイルで共有される計算関数を別のパッケージに分ける
P粉421119778
P粉421119778 2023-09-01 17:46:49
0
1
699
<p>共通の <code>vue/nuxt</code> 固有のコードを異なるパッケージ間で共有するにはどうすればよいですか? </p> <p><code>monorepo</code> を使用したくありませんが、独自のパッケージに分離したい共有コードがいくつかあります。この共有コード (新しいパッケージ) は、<code>@nuxtjs/composition-api</code> を使用して記述されており、共有の <code>計算された</code> と、さまざまな環境で何度も使用される <code> にすぎません。コンポーネント/テンプレート ;メソッド</code>。 </p> <p>このパッケージをプラグインとして設定したくないです。代わりに、直接インポートしてツリー シェーキングを利用します (<code>composition-api</code> と同様)。 </p> <p><code>rollupjs</code> を使用してインポート可能なモジュールを作成することに慣れています。 </p> <pre class="brush:php;toolbar:false;">//新しいパッケージ //インデックス.js './src/isTrue' から { デフォルトとして isTrue } をエクスポートします ... //src/isTrue import { computed } from '@nuxtjs/composition-api' デフォルトをエクスポート (p) => { return computed(() => p === 'true') //これにより応答性が損なわれるかどうかはわかりません。 ! ? ! }</pre> <p><code>rollupjs</code></p> 経由で <code>.ssr、.esm、.min</code> 形式にコンパイルするのに問題はありませんでした。 <p>新しいパッケージを作業ファイルにインポートすると、問題が発生します。 </p> <pre class="brush:php;toolbar:false;">import { isTrue } from 'new-package' デフォルトをエクスポート{ 名前: 'testComp'、 セットアップ(小道具){ 戻る { isActive: isTrue(props.active) } }</pre> <p> は次のものを生成します: </p> <pre class="brush:php;toolbar:false;">[vue-composition-api] 関数を使用する前に Vue.use(VueCompositionAPI) を呼び出す必要があります。 </pre> <p><code>@nuxtjs/composition-api</code> が VueCompositionAPI のラッパーであることを理解しています。 </p> <p>新しいパッケージをプラグインとしてインストールしたくないので、新しいパッケージのインストールを省略します(インストール例:https://github.com/wuruoyun/vue-component-lib-starter/blob) /master/src/install .js)</p>
P粉421119778
P粉421119778

全員に返信(1)
P粉242535777

使用した オプション API

リーリー

rollupjs を使用して library.js をコンパイルし、インポートします リーリー

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート