147 lines
3.4 KiB
Plaintext
147 lines
3.4 KiB
Plaintext
::: title 快速上手
|
||
:::
|
||
|
||
::: describe 最简单的使用方式参照以下 CodeSandbox 演示,也推荐 Fork 本例来进行 Bug Report。
|
||
:::
|
||
|
||
<a href="https://codesandbox.io/s/11mvy" style="margin-left: 30px; margin-bottom: 30px; margin-top: 10px; display:block;"><img src="https://codesandbox.io/static/img/play-codesandbox.svg" /></a>
|
||
|
||
::: title 安装组件
|
||
:::
|
||
|
||
::: describe 使用 npm 工具安装 layui vue,若安装缓慢,可尝试用 pnpm 或其他镜像源。
|
||
:::
|
||
|
||
```
|
||
npm install @layui/layui-vue --save
|
||
```
|
||
|
||
::: title 全局注册
|
||
:::
|
||
|
||
```js
|
||
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')
|
||
```
|
||
::: describe 以上代码便完成了 layui-vue 的注册。需要注意的是,样式文件需要单独引入。
|
||
:::
|
||
|
||
::: title 自动按需
|
||
:::
|
||
|
||
::: describe 首先你需要安装 <a href="https://github.com/antfu/unplugin-vue-components" target="_blank" style="color:#5FB878"><code>unplugin-vue-components</code></a> 和 <a href="https://github.com/antfu/unplugin-auto-import" target="_blank" style="color:#5FB878"><code>unplugin-auto-import</code></a> 两款插件。
|
||
:::
|
||
|
||
```
|
||
npm install -D unplugin-vue-components unplugin-auto-import
|
||
```
|
||
|
||
::: describe 然后修改 vite.config.js 或 vue.config.js 的配置。
|
||
:::
|
||
|
||
```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()],
|
||
}),
|
||
],
|
||
}
|
||
```
|
||
::: describe Resolver 解析器选项配置。
|
||
:::
|
||
|
||
```ts
|
||
export interface LayuiVueResolverOptions {
|
||
/**
|
||
* 将样式与组件一起导入
|
||
*
|
||
* @default 'css'
|
||
*/
|
||
importStyle?: boolean | 'css'
|
||
|
||
/**
|
||
* 是否解析图标
|
||
*
|
||
* @default false
|
||
*/
|
||
resolveIcons?: boolean
|
||
|
||
/**
|
||
* 排除不需要自动导入的组件
|
||
*
|
||
* eg: exclude: ['LayDocTable', /^LayDoc[A-Z]/,]
|
||
*/
|
||
exclude?: Array<string | RegExp>;
|
||
}
|
||
```
|
||
|
||
::: title 手动引入
|
||
:::
|
||
|
||
::: describe 原生支持 es-module 的 tree shaking 用法。
|
||
:::
|
||
|
||
::: describe 如果你完全使用 layui-vue 构建项目, 我们更推荐全局注册与自动按需的方式。
|
||
:::
|
||
|
||
```js
|
||
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')
|
||
```
|
||
|
||
::: title 在线安装
|
||
:::
|
||
|
||
::: describe 根据不同的 CDN 提供商有不同的引入方式,我们在这里以 unpkg 举例。
|
||
:::
|
||
|
||
```html
|
||
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="UTF-8" />
|
||
<link rel="stylesheet" href="//unpkg.com/@layui/layui-vue/lib/index.css" />
|
||
<script src="//unpkg.com/vue@3"></script>
|
||
<script src="//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>
|
||
``` |