动态生成 uniapp 配置文件 pages.json,方便项目管理

在用uni-app开发小程序项目中,按官方文档需要把所有页面路径都放到pages.json文件下,导致pages.json文件较大,可读性差。更主要的是多人开发时,合入代码时会产生冲突。有没有办法可以动态生成pages.json文件呢?

当然有,请看:https://blog.csdn.net/fungleo/article/details/105165774

这种方法需要运行项目之前先node router/build.js  事先生成pages.json文件。还有没有其他办法? 请看下文:

 

uni-app自带一个webpack loader钩子文件pages.js,在项目根目录下建立pages.js(与pages.json同级)即可生效。通过此文件就可以把动态生成的pages对象覆盖掉pages.json文件。代码如下:

/*
 *uni-app自带一个webpack loader钩子文件pages.js,在项目根目录下建立pages.js(与pages.json同级)即可生效
 * pages.js要求CommonJS规范,直接通过module.exports输出一个钩子函数。
*/

let pages = require('./router/buildRouter.js')
module.exports = (pagesJson, loader) => {
	//此钩子函数必须返回一个json对象
	return pages
}

在项目根目录下新建router文件夹,并新建buildRouter.js文件,看下其内容:

/*此文件用来动态加载pages下的页面路径
 */
let pagesJson = {
	"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
		{
			"path": "pages/index/index",
			"style": {
				"navigationBarTitleText": "uni-app"
			}
		}
	],
	"globalStyle": {
		"navigationBarTextStyle": "black",
		"navigationBarTitleText": "uni-app",
		"navigationBarBackgroundColor": "#F8F8F8",
		"backgroundColor": "#F8F8F8"
	}
}
// /pages/目录下的模块名称
const mainPages = ['auth', 'set']
mainPages.forEach((item) => {
	const moduleRouter = require(`../pages/${item}/PagesConfig.js`)
	moduleRouter.forEach((subItem) => {
		pagesJson.pages.push(subItem)
	})
})


module.exports = pagesJson

在pages/目录下每个模块下新建一个PagesConfig.js文件,此文件用来管理此模块下的所有页面路径。我们遍历所有模块名把PagesConfig.js中的页面路径都放到pagesJson对象中,最后生成了完整的pages.json文件内容。

 

之后的开发中,如果在已有的模块中新增页面,只需把页面路径写入到对应模块的PagesConfig.js文件中,如果是新增模块的话,还需要把模块名称写入到buildRouter.js中的mainPages数组中。

 

  • 6
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
### 回答1: uniapp 是一款跨平台的开发框架,可以基于Vue.js进行快速应用的开发。为了方便项目管理uniapp提供了动态生成配置文件pages.json的功能。 在uniapp中,pages.json文件是用来配置小程序各个页面路径的文件。通过动态生成pages.json文件,可以在开发中更灵活地管理项目中的页面。在创建新页面或对已有页面进行修改时,可以通过代码生成pages.json文件,无需手动添加或修改配置项。这样可以提高开发效率,减少人为错误。 使用动态生成pages.json文件的方式,可以根据实际情况进行灵活配置,减少不必要的重复操作。比如,可以使用循环遍历的方式 dynamically_generate_pages() 来创建新页面,并将新增页面的配置信息动态添加到pages.json文件中。当有页面删除或修改时,也可以通过代码去检测并更新pages.json文件的相应配置项。 动态生成pages.json文件还可以实现根据不同环境的需求去生成不同的配置文件。比如,在开发环境中,可以根据需要添加一些调试工具或增加一些辅助性页面。而在生产环境中,可以通过动态生成pages.json文件去过滤掉不需要的页面,从而减少项目的体积和加载时间。 总结来说,动态生成pages.json配置文件可以提高uniapp项目的开发效率和灵活性。通过代码生成配置文件,可以减少手动操作的繁琐,并且可以根据实际需求灵活配置。这样可以更好地管理和维护uniapp项目,提升开发的效率和质量。 ### 回答2: 动态生成uniapp配置文件pages.json可以方便地进行项目管理pages.jsonuniapp框架中的重要配置文件,它定义了项目的页面路由、页面配置和导航栏样式等信息。 通过动态生成pages.json,我们可以实现以下好处: 1. 自动化配置:通过编写脚本或工具,我们可以根据项目需求自动生成pages.json,从而减少手动配置的工作量和出错的可能性。这样,开发者可以更便捷地维护项目结构和功能模块。 2. 增强可维护性:随着项目的不断迭代,页面数量和结构可能会发生变化,若手动更新pages.json将会非常繁琐且容易出错。而动态生成可以根据项目实际情况实时更新pages.json,使项目结构始终与实际一致,提高了代码的可维护性。 3. 多平台适配:uniapp支持多个平台的开发,如微信小程序、H5、APP等。通过动态生成pages.json,我们可以在不同平台下自动适配对应的页面配置和路由信息,提高了项目的跨平台开发效率和一致性。 总之,动态生成uniapp配置文件pages.json是一个值得推荐的做法,它能够提高项目的开发效率、可维护性和跨平台适配性,同时减少手动配置时的错误和工作量。通过合理利用脚本或工具,我们能更好地管理uniapp项目并提升开发体验。 ### 回答3: 动态生成 uniapp 配置文件 pages.json 是为了方便项目管理和维护。uniapp 是一款跨平台的开发框架,可以同时开发小程序、H5、App等,而配置文件 pages.json 是用于配置项目的页面路径和页面样式的文件。 动态生成配置文件可以通过自定义生成工具来实现。通过该生成工具,我们可以根据项目需要动态添加、删除和修改页面路径和样式,从而更加灵活地管理项目。这样一来,当有新的页面需要添加时,我们只需要通过工具进行配置,而不需要手动修改 pages.json 文件,大大减少了人工操作和出错的可能性。 另外,动态生成 pages.json 还可以实现页面权限管理。通过生成工具,我们可以根据不同用户的权限动态生成 pages.json 文件,从而限制用户能够访问的页面。这样一来,可以有效提升项目的安全性和隐私性。 总之,动态生成 uniapp 配置文件 pages.json 可以实现项目的灵活管理和页面权限的控制,提高项目的开发效率和安全性。
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值