uniapp 小程序目录搭建以及 pages.json 配置

uniapp 小程序目录搭建

1. 分包结构

├──api						各个模块接口文件夹               
	├──login.js				登录模块接口文件 
├──common 					公共模块,包含公共基础css等     
	├──base.css 			公共基础css                                                  
├──components 				主包当中使用的组件或者复用率较高的组件作为全局组件                             
├──node_modules   			nodejs相关依赖包文件目录                                     
├──pages   					主包 : 业务页面文件存放的目录                                       
	├──common 				
	├──sys 					index文件夹
        ├──home 			home文件夹                                                  
            ├──index.vue   	主页面:欢迎页                                                       
            ├──index.scss   
        ├──login  			login文件夹                                                  
            ├──index.vue  	登录主页面       
            ├──index.scss
        ├──user  			user文件夹                                                  
            ├──index.vue  	个人中心主页面    
            ├──index.scss
设备分包--------------------------------------------------------------------------------
├──pages_device   			分包 : 设备相关业务页面文件存放的目录    
	├──components 			设备分包中定义的的组件   
	├──static  				分包静态资源
		├──iconfont 		分包中的图标
    ├──device 				设备分包中定义的的组件
        ├──list  				                                                  
            ├──list.vue  		设备列表页面
        ├──add	 				
            ├──add.vue   		新增设备页面
        ├──device_panel  				                                                  
            ├──device-panel.vue	设备面板页面  
        ├──detail  				                                                  
            ├──device-detail.vue	设备信息详情页面        
            ├──running-detail.vue	设备运行数据详情页面  
            ├──FeedingData-report.vue		喂养数据报表页面
            ├──FeedingData-history.vue		喂养数据历史数据页面
        ├──settings  				                                                  
            ├──parameter-setting.vue	设备运行参数设置页面 
用户分包--------------------------------------------------------------------------------
├──pages_user   			分包 : 用户相关页面文件存放的目录       
	├──components 			用户分包中定义的的组件
    ├──static  				分包静态资源
		├──iconfont 		分包中的图标
    ├──user  	
        ├──device-distribution.vue   		设备分配页面
		├──change-password.vue  		修改密码页面
        ├──settings.vue   			系统设置页面
        ├──feedback.vue   			意见反馈页面
        ├──help.vue   				帮助中心页面
        ├──about.vue   				关于我们页面
    ├──payment
        ├──payment.vue   			支付页面
-----------------------------------------------------------------------------------------------------------------------------
├──static  				存放应用引用的本地静态资源(如图片、视频等)的目录
	├──iconfont 		图标
	├──images 			图片资源
├──store 				vuex目录,也是存放公共属性方法的地方 
	├──index.js 		vuex的主文件                    
├──uni_modules 			插件市场下载的第三方UI组件目录,存放[uni_module](https://www.cnblogs.com/uni_modules)规范的插件。 
├──unpackage 			打包目录,这里有各个平台的打包文件。                         
├──utils        		全局公共方法目录                                         
	├──common.js 		封装的公共可复用的方法属性文件(针对当前项目)             
	├──request.js		封装的公共请求方法文件                                
	├──utils.js			封装的公共可复用的方法属性文件(针对所有项目)             
├──App.vue				应用配置文件,用来配置App全局样式以及监听应用生命周期        
├──main.js           	Vue初始化入口文件                                     
├──manifest.json     	配置应用名称、appid、logo、版本等打包信息的文件            
├──package.json      	项目配置信息文件,依赖模块的定义                          
├──package-lock.json 	1.锁定包的版本,确保再次下载时不会因为包版本不同而产生问题2.加快下载速度,因为该文件中已经记录了项目所依赖第三方包的树状结构和包的下载地址,重新安装时只需下载即可,不需要做额外的工作 
├──pages.json        	配置页面路由、导航条、选项卡等页面类信息的文件               
├──uni.scss          	自带的公共的css修饰文件                                      
├──README.md         	文档说明,可包含目录文件名称对比,注意事项,框架使用,技术架构,Git或SVN地址,账号密码等 

2. 分包配置

// pages.json
{
	"easycom": {
		"^u-(.*)": "@/uview-ui/components/u-$1/u-$1.vue"
	},
	"pages": [{
			"path": "pages/sys/login/index",
			"style": {
				"navigationBarTitleText": "登录",
				"navigationStyle": "custom"
			}
		},

		{
			"path": "pages/sys/user/index",
			"style": {
				"navigationBarTitleText": "个人中心",
				"navigationBarBackgroundColor": "#5b95ff",
				"navigationBarTextStyle": "white"
			}
		},
		{
			"path": "pages/sys/home/index",
			"style": {
				"navigationBarTitleText": "工作台-首页",
				"enablePullDownRefresh": true,
				"app-plus": {
					"pullToRefresh": {
						"support": true,
						"color": "#2979ff", //小圈圈的颜色
						"style": "circle" //小圈圈的样式
					}
				}
			}
		}
	],
	"subPackages": [
		// 设备分包
		{
			"root": "pages_device",
			"pages": [{
					"path": "device/add/add",
					"style": {
						"navigationBarTitleText": "设备-新增"
					}
				},
				{
					"path": "device/device_panel/index",
					"style": {
						"navigationBarTitleText": "设备面板",
						"enablePullDownRefresh": true,
						"app-plus": {
							"pullToRefresh": {
								"support": true,
								"color": "#2979ff", //小圈圈的颜色
								"style": "circle" //小圈圈的样式
							}
						}
					}
				}, {
					"path": "device/list/list",
					"style": {
						//"navigationStyle": "custom", // 隐藏系统导航栏
						"navigationBarTitleText": "设备列表",
						"enablePullDownRefresh": false,
						"app-plus": {
							"pullToRefresh": {
								"support": false,
								"color": "#2979ff", //小圈圈的颜色
								"style": "circle" //小圈圈的样式
							}
						}
					}
				}, {
					"path": "device/setting/parameter-setting",
					"style": {
						"navigationBarTitleText": "设备运行设置",
						"enablePullDownRefresh": false
					}

				}, {
					"path": "device/detail/device-info",
					"style": {
						"navigationBarTitleText": "设备信息",
						"enablePullDownRefresh": false
					}
				}, {
					"path": "device/detail/running-detail",
					"style": {
						"navigationBarTitleText": "设备运行数据详情",
						"enablePullDownRefresh": false
					}
				}, {
					"path": "device/history/feedingData-report",
					"style": {
						"navigationBarTitleText": "喂养数据报表",
						"enablePullDownRefresh": false
					}
				}, {
					"path": "device/history/feedingData-history",
					"style": {
						"navigationBarTitleText": "喂养数据历史",
						"enablePullDownRefresh": false
					}
				}
			]
		},
		// 用户分包
		{
			"root": "pages_user",
			"pages": [{
					"path": "user/device-distribution",
					"style": {
						"navigationBarTitleText": "设备分配",
						"enablePullDownRefresh": false
					}

				},
				{
					"path": "user/change-password",
					"style": {
						"navigationBarTitleText": "修改密码",
						"enablePullDownRefresh": false
					}

				},
				{
					"path": "user/system-setting",
					"style": {
						"navigationBarTitleText": "系统设置",
						"enablePullDownRefresh": false
					}

				},
				{
					"path": "user/feedback",
					"style": {
						"navigationBarTitleText": "意见反馈",
						"enablePullDownRefresh": false
					}

				},
				{
					"path": "user/help",
					"style": {
						"navigationBarTitleText": "帮助中心",
						"enablePullDownRefresh": false
					}

				},
				{
					"path": "user/about-us",
					"style": {
						"navigationBarTitleText": "关于我们",
						"enablePullDownRefresh": false
					}

				},
				{
					"path": "payment/payment",
					"style": {
						"navigationBarTitleText": "支付",
						"enablePullDownRefresh": false
					}

				}
			]
		}
	],
	// 分包预加载规则
	"preloadRule": {

	},
	"globalStyle": {
		"navigationBarTextStyle": "black",
		"navigationBarTitleText": "衡物联",
		"navigationBarBackgroundColor": "#ffffff"
	},
	"tabBar": {
		"color": "#333333",
		"selectedColor": "#4094ff",
		"backgroundColor": "#ffffff",
		"borderStyle": "white",
		"list": [{
				"pagePath": "pages/sys/home/index"
			},
			{
				"pagePath": "pages/sys/user/index"
			}
		]
	}
}

分包配置注意事项

命名规范

文件命名规范,欢迎指正uniapp 开发规范
分包路径之间采用下划线的方式链接 如: pages_device
vue 文件命名采用连字符的方式 如 : user-settings.vue

分包结构

声明subpackages后,将按subpackages配置路径进行打包,subpackages配置路径外的目录将被打包到主包中
subpackage的根目录不能是另外一个subpackage内的子目录
tabBar页面必须在主包内

引用原则:

对于js、template、资源
packageA无法require packageB的,但可以require app、自己package内的(对于js文件:使用分包异步化时不受此条限制)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值