Layui - Vue如何快速上手

2024年06月16日 建站教程

Layui Vue安装组件

使用 npm 工具安装 layui vue,若安装缓慢,可尝试用 pnpm 或其他镜像源。

npm install @layui/layui-vue --save

全局注册

import App from './App.vue'
import { createApp } from 'vue'
import Layui from '@layui/layui-vue'
import '@layui/layui-vue/lib/index.css'

createApp(App).use(Layui).mount('#app')

以上代码便完成了 layui-vue 的注册。需要注意的是,样式文件需要单独引入。

自动按需

首先你需要安装 unplugin-vue-components 和 unplugin-auto-import 两款插件。

npm install -D unplugin-vue-components unplugin-auto-import

然后修改 vite.config.js 或 vue.config.js 的配置。

import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { LayuiVueResolver } from 'unplugin-vue-components/resolvers'

export default {
  plugins: [
    AutoImport({
      resolvers: [LayuiVueResolver()],
    }),
    Components({
      resolvers: [LayuiVueResolver()],
    }),
  ],
}

Resolver 解析器选项配置。

export interface LayuiVueResolverOptions {
  /**
   * 将样式与组件一起导入
   *
   * @default 'css'
   */
  importStyle?: boolean | 'css'

  /**
   * 是否解析图标
   *
   * @default false
   */
  resolveIcons?: boolean

  /**
   * 排除不需要自动导入的组件
   * 
   * eg: exclude: ['LayDocTable', /^LayDoc[A-Z]/,]
   */
  exclude?: Array;
}

手动引入

如果你完全使用 layui-vue 构建项目, 我们更推荐全局注册与自动按需的方式。

import App from './App.vue'
import { createApp } from 'vue'
import { LayButton, LayTable } from '@layui/layui-vue'
import '@layui/layui-vue/es/button/index.css';
import '@layui/layui-vue/es/table/index.css';

var app = createApp(App).

app.component("LayButton", LayButton);
app.component("LayTable", LayTable);

app.mount('#app')

Volar 配置

在 tsconfig.json 中, 通过 compilerOptions.type 选项指定全局组件类型 ( v1.9.6 )

{
  "compilerOptions": {
    "types": ["@layui/layui-vue/types/components"]
  }
}

在线安装

根据不同的 CDN 提供商有不同的引入方式,我们在这里以 unpkg 举例。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <link rel="stylesheet" href="//unpkg.com/@layui/layui-vue/lib/index.css" />
    <script src="/static//unpkg.com/vue@3"></script>
    <script src="/static//unpkg.com/@layui/layui-vue"></script>
</head>
<body>
    <div id="app">
        <lay-button type="primary">{{ message }}</lay-button>
    </div>
    <script>
        const App = {
            data() {
                return {
                    message: "Hello World"
                };
            },
        };
        const app = Vue.createApp(App);
        app.use(LayuiVue);
        app.mount("#app");
    </script>
</body>
</html>

进入Layui Vue中文文档

本文链接:http://so.lmcjl.com/news/6656/

展开阅读全文