element-plus
@element-plus/nuxt

デザイナーと開発者向けのVue 3ベースのコンポーネントライブラリ

Element Plus Nuxt

NuxtElement Plusモジュール

機能

  • コンポーネントとスタイルをオンデマンドで自動的にインポートします。
  • ディレクティブとスタイルをオンデマンドで自動的にインポートします。
  • @element-plus/icons-vueからアイコンを自動的にインポートします。
  • ElMessage、ElNotification、その他のメソッドを自動的にインポートします。
  • ID_INJECTION_KEYとZINDEX_INJECTION_KEYをVueに自動的に挿入します。
  • 最終的なページHTMLの正しい場所にテレポートマークアップを自動的に挿入します。

インストール

!警告 element-plusで内部的に使用されているdayjsJavaScriptモジュールではないため、起動前にJavaScriptモジュールに変換されることを保証するために、プロジェクトのルートディレクトリに.npmrcファイルを追加し、以下の設定を追加する必要があります。

shamefully-hoist=true
node-linker=hoisted

または、dayjs依存関係を個別にインストールします。

npx nuxi@latest module add element-plus
# or
npm i element-plus @element-plus/nuxt -D

設定

!警告 現在、メソッドはコンテキストを自動的に取得できないため、オプションでinstallMethodsを手動で設定する必要があります。

export default defineNuxtConfig({
  modules: [
    '@element-plus/nuxt'
  ],
  elementPlus: { /** Options */ }
})

使用方法

<template>
  <el-button @click="ElMessage('hello')">button</el-button>
  <ElButton :icon="ElIconEditPen" type="success">button</ElButton>
  <LazyElButton type="warning">lazy button</LazyElButton>
</template>

Nuxtドキュメントplaygroundの使用を参照してください。

オプション

importStyle

  • タイプ: 'css' | 'scss' | boolean
  • デフォルト: css

コンポーネントと一緒にスタイルcssまたはsass(scss)をインポートし、falseでスタイルを自動的にインポートするのを無効にします。

themes

  • タイプ: array

スタイルを自動的にインポートする必要があるテーマのリスト。

例: ['dark']

icon

  • タイプ: string | false
  • デフォルト: ElIcon

アイコンのプレフィックス名。アイコンの自動インポートをfalseで無効にします。

installMethods

  • タイプ: array

インストールする必要があるメソッドのリスト。

例: ['ElLoading', 'ElMessage', 'ElMessageBox', 'ElNotification']

namespace

  • 型: string
  • デフォルト: el

グローバルな名前空間を変更する場合は、ここも変更する必要があります。

defaultLocale

  • 型: string

デフォルトのロケールを置き換えます。ロケールリストはこちらで確認できます。

例: 'zh-cn'

cache

  • 型: boolean
  • デフォルト: false

element-plusのコンポーネントとディレクティブをキャッシュするかどうか。開発モードでのみ有効です。

この機能を有効にすると、開発モードで読み込み速度が向上します。

themeChalk

  • タイプ: object

カスタムテーマ生成用のSCSS変数を設定します。importStylescssの場合のみ有効です。

例:

{
  $colors: {
    primary: { base: 'rgba(107,33,168, 1)' }
  },
  dark: {
    $colors: {
      primary: { base: 'rgb(242, 216, 22)' }
    }
  }
}

globalConfig

  • タイプ: object

コンポーネントのデフォルトのsizez-indexを変更するなど、グローバル設定を設定します。

例: { size: 'small', zIndex: 3000 }

injectionID

  • タイプ: object
  • デフォルト: { prefix: 1024, current: 0 }

ID_INJECTION_KEYをVueに自動的に挿入します。

injectionZIndex

  • タイプ: object
  • デフォルト: { current: 0 }

Z_INDEX_INJECTION_KEYをVueに自動的に挿入します。

appendTo

  • タイプ: array

ElTooltipコンポーネントに基づくすべてのappend-toプロップを変更する場合、ここに値を追加する必要があります。

components

  • タイプ: array

Element Plusから自動的にインポートされないコンポーネントがある場合、ここにコンポーネント名を追加する必要があります。

例: ['ElSubMenu']

subComponents

  • タイプ: object

サブコンポーネントの定義ファイルが親コンポーネントにあるコンポーネントのマップ。

directives

  • タイプ: object

Element Plusから自動的にインポートされないディレクティブがある場合、ここにディレクティブ名を追加する必要があります。

imports

  • タイプ: array

Element Plusから自動的にインポートする内容を追加したい場合は、ここに追加できます。

例:

[
  ['useLocale', 'es/hooks/use-locale/index.mjs'],
  [['castArray', 'unique'], 'es/utils/arrays.mjs']
],

baseImports

  • タイプ: array

autoImportsが無効になっていてもインポートされるインポートのリスト。

noStylesComponents

  • タイプ: array

コンポーネントが誤ってスタイルを読み込む場合、ここにコンポーネント名を追加する必要があります。

include

  • タイプ: array
  • デフォルト: [ /\.vue$/, /\.vue\?vue/, /\.vue\?v=/, /\.((c|m)?j|t)sx?$/]

スタイルを自動的にインポートする必要があるファイルを含めます。

exclude

  • タイプ: array
  • デフォルト: [/[\\/]node_modules[\\/]/, /[\\/]\.git[\\/]/, /[\\/]\.nuxt[\\/]/]

スタイルの自動インポートを必要としないファイルを除外します。

テンプレート

element-plus-nuxt-starter

開発

  • pnpm iを実行して依存関係をインストールします。
  • pnpm dev:prepare を実行して型スタブを生成する。
  • pnpm devを実行して開発モードでプレイグラウンドを開始します。
  • pnpm dev:buildを実行してプレイグラウンドをビルドします。
  • pnpm dev:startを実行してプレイグラウンドをローカルでプレビューします。
  • pnpm buildを実行してこのプロジェクトをビルドします。