快速入门
duxapp是一套基于Taro的模块化开发架构,每一个项目就是一个模块,且兼容多端开发,极大节省开发时间。
搭建环境
需要安装以下工具环境,才能正常进行duxapp的开发
- nodejs 20+
- git命令行工具
- yarn
使用命令npm i yarn -g
安装
初始化一个项目
npx duxapp-cli create projectName
projectName
是项目名称,项目初始化后将会自动安装依赖,安装完成就可以打开项目进行开发了,命令执行过程中,你可以选择你需要的模板,当前提供了以下模板选择
- 基础模板(仅包含基础duxapp模块)
- 移动端页面编辑器(编辑器示例代码模块)
- cms商城(单用户商城模块 支持RN端)
- duxui 示例代码(包含所有组件的示例代码 支持RN端)
运行
安装完成后,根据选择的不同模板,命令行将会提示不同的运行命令,下面的是运行基础模块的命令
# 运行小程序
yarn dev:weapp --app=duxapp
# 运行H5
yarn dev:h5 --app=duxapp
运行命令是在Taro的基础上加了 --app=模块
参数,用来指定要运行的模块,模块位于 src
目录下,每个文件夹就是一个模块
快速使用已发布的模块
如果你上面初始化命令选择的是基础模板,则里面仅有duxapp模块,这个模块只有一些基础组件或者函数,并不是很好的示例,那么你,你可以安装duxuiExample
模块,这个模块是UI库的示例代码。
yarn duxapp app add duxuiExample
安装后执行命令编译 duxuiExample
这个模块
首次执行此命令会要求登录,如果你没有账号,请前往duxcms注册,登录仅用作模块的安装和发布
请用手机号注册账号,暂不支持邮箱
# 运行小程序
yarn dev:weapp --app=duxuiExample
# 运行H5
yarn dev:h5 --app=duxuiExample
创建新的模块
当你有新项目或者新模块的时候,就执行创建命令创建一个模块,moduleName
为模块标识,也就是文件夹名称
yarn duxapp app create moduleName 模块介绍
创建新模块之后,需要配置 src\moduleName\config\route.js
,配置的目的是将index页面指定为首页,详细配置见路由配置
const config = {
path: 'pages',
pages: {
'moduleName/index': {
pages: {
index: {
// 添加这个配置
home: true
},
},
},
},
/**
* 路由转换,当跳转到左侧路由时,实际上跳转的是右侧的路由
*
* 右侧是字符串则全局匹配
* {
* mode: 'start', // start匹配路由的开始部分
* page: ''
* }
*/
transfer: {},
}
module.exports = config
配置保存之后,使用命令启动新模块
这是一个nodejs模块,请勿将此文件导出方式改为 export default
# 运行小程序
yarn dev:weapp --app=moduleName
# 运行H5
yarn dev:h5 --app=moduleName
默认配置下,所有页面文件放在 src/moduleName/pages
文件夹下,默认的index页面在src\moduleName\pages\index\index.jsx
你可以尝试修改此文件的内容,首页即可发生改变
import { View } from '@tarojs/components'
import { Header, ScrollView, TopView } from '@/duxapp'
import './index.scss'
export default function NewApp() {
return (
<TopView>
<Header title='moduleName' titleCenter />
<ScrollView>
<View className='new-app__title'>欢迎使用duxapp</View>
<View className='new-app__p'>新创建的模块默认依赖于duxapp模块</View>
<View className='new-app__p'>
如果需要依赖于其他的模块请在app.json中修改依赖项, 并且使用 yarn duxapp
app add 添加该依赖
</View>
</ScrollView>
</TopView>
)
}
此文件默认内容,需要注意到 import { Header, ScrollView, TopView } from '@/duxapp'
中的 @/duxapp
导入位置,以@/
开头的导入位置就就指向一模块所在的文件夹,@/duxapp
就代表从 duxapp
模块导入,这个模块是所有模块的基础模块,有关此模块导出的组件和方法,请查看 duxapp模块。