跳到主要内容

快速开始

安装

  1. 首先需要有一个基于Taro的React项目,详细请参考Taro快速开始
npm install -g @tarojs/cli
taro init myApp
  1. 安装OSSA
npm install ossaui

使用

  1. 在入口文件中引入样式文件
// app.tsx
import 'ossaui/dist/style/index.scss'

// 或者在app.scss中引入
@import '~ossaui/dist/style/index.scss'
  1. 配置编译时对组件库进行编译

如果不对组件库进行编译,组件库内的样式文件不会经过postcss处理

config/index.js
module.exports = {
// ...
h5: {
// ...
esnextModules: ['ossaui']
}
}
警告

在taro3.5之后的版本中,在开启prebundle(默认开启)的情况下,会导致ossaui所引用的@taro/components组件没有被打进最终的bundle中,导致页面表现异常。

为了解决上述问题,可以手动将ossaui排除在prebundle列表之外。

config/index.js
module.exports = {
// ...
framework: 'react',
compiler: {
type: 'webpack5',
prebundle: {
exclude: ['ossaui']
}
},
}
  1. 在页面中引入OSSA组件
page/index.tsx
import { OsButton } from 'ossaui'

const demo = () => {
return (
<OsButton type='primary' onClick={()=>handleClick()}>按钮</OsButton>
)
}

按需引入

组件的样式文件既可以在入口文件引入,也可以在使用组件时,按需引入

// page/index.tsx
import { OsButton } from 'ossaui'

注意,目前组件库的按需引入需要借助一个babel插件babel-plugin-import来实现

首先需要安装

npm i babel-plugin-import -D

然后在babel.config.js文件中添加如下配置:

babel.config.js
plugins: [
[
'import',
{
libraryName: 'ossaui',
customName: (name) => `ossaui/lib/components/${name.replace(/^os-/, '')}`,
customStyleName: (name) => `ossaui/dist/style/components/${name.replace(/^os-/, '')}.scss`
},
'ossaui'
]
]

预览

详细Taro项目预览可参考Taro文档

// 微信小程序预览
npm run dev:weapp

// h5预览
npm run dev:h5