# uniapp-nutui-template
**Repository Path**: lornes/uniapp-nutui-template
## Basic Information
- **Project Name**: uniapp-nutui-template
- **Description**: uniapp + nutui 移动端/小程序/H5模板工程
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 4
- **Created**: 2024-07-03
- **Last Updated**: 2024-07-03
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 项目依赖
- [uniapp-vue3-vite-ts-template](https://gitee.com/h_mo/uniapp-vue3-vite-ts-template)
- [nuitui-uniapp](https://github.com/nutui-uniapp/nutui-uniapp)
- [vite-plugin-uni-components](ttps://github.com/uni-helper/vite-plugin-uni-components)
# 导入基础模板
通过 HBuilderX 导入项目 https://gitee.com/h_mo/uniapp-vue3-vite-ts-template

# 模板整合 nutui
参考文档:https://nutui-uniapp.netlify.app/guide/quick-start.html
## npm 安装
```bash
pnpm add nutui-uniapp
```
## 组件 TS 类型支持
在 tsconfig.json 中通过 compilerOptions.type 指定全局组件类型。
```json
// tsconfig.json
{
"compilerOptions": {
// ...
"types": ["nutui-uniapp/global.d.ts"]
}
}
```
## 自动导入
安装 vite-plugin-uni-components, [安装和使用说明](https://github.com/uni-helper/vite-plugin-uni-components)
```bash
pnpm i -D @uni-helper/vite-plugin-uni-components
```
配置 vite.config.ts
```typescript
// Vite中文网:https://vitejs.cn/config/
import { ConfigEnv, loadEnv, UserConfig } from 'vite';
import { resolve } from 'path';
import uni from '@dcloudio/vite-plugin-uni';
import Components from '@uni-helper/vite-plugin-uni-components';
import { NutResolver } from 'nutui-uniapp';
// https://vitejs.dev/config/
export default ({ mode }: ConfigEnv): UserConfig => {
const root = process.cwd();
const env = loadEnv(mode, root);
return {
// ...
plugins: [
// ...
Components({
resolvers: [NutResolver()],
dirs: ['src/components', 'src/**/components'],
dts: 'typings/components.d.ts',
}),
// uni 插件一定要放到后面
uni(),
],
};
};
```
> 如果你使用 `pnpm` ,请在根目录下创建一个 `.npmrc` 文件,参见[issue](https://github.com/antfu/unplugin-vue-components/issues/389)。
```
// .npmrc
public-hoist-pattern[]=@vue*
// or
// shamefully-hoist = true
```
## 样式引入
在项目文件 `app.vue` 文件中添加如下代码:
```html
// App.vue
```
导入样式变量
```typescript
// vite.config.ts
import { defineConfig } from 'vite';
// https://vitejs.dev/config/
export default defineConfig({
// ...
css: {
preprocessorOptions: {
scss: {
additionalData: '@import "nutui-uniapp/styles/variables.scss";',
},
},
},
});
```
## 测试示例
```html
主要按钮
```

# UnoCSS
```
pnpm i -D @unocss/transformer-directives
```