更新记录

1.0.3(2022-06-29)

修复项目无tabbar时组装失败的bug 增加配置目录的JS文件变更监听,实现热更新 NPM库和github已更新, 项目中直接 npm install 即可

1.0.1(2022-05-26)

vite插件演示项目 pages.json 按节点分割为多个目录 pages等数组形式的节点支持多个配置文件,支持exclude,方便开发和发行分开

支持根据hbuilder登录用户分别设置condition 自用,对比了几个pages-tool,感觉还行,给大家品尝


平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.4.7 × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × × × × × ×

uniapp-pages.json-config

uniapp pages.json 管理工具 vite插件版 注意,项目需要先有一个可运行的pages.json 否则项目无法运行,也就无法执行到vite.config

2022-06-29 修复热更新时,condition节点名称重复问题

2022-06-28 修复不设置tabbar时的执行错误

增加配置目录.js文件变更,触发重新组装,进而触发hbuilder差量编译.达到热更新的目的

// vite.config.js or vite.config.ts
// vite.config.js or vite.config.ts 
import {
    defineConfig
} from "vite";
import uni from "@dcloudio/vite-plugin-uni"; 
import vitePluginReplaceUniappConfig from "vite-plugin-uni-pages-config" 

console.error("当前用户(condition中文件名用此名字):   ", process.env.USER)
let node_env = process.env.NODE_ENV; 
let uniPlugin = uni();

export default defineConfig({
    plugins: [ 
        uniPlugin, 
        vitePluginReplaceUniappConfig([{
             node_env,  //是发布还是调试
             dir:  __dirname+"/project-config/pages.json/", // 配置文件所在目录
             replaceFile:  __dirname+"/pages.json", //生成的文件路径
             rootDir:   process.env.UNI_INPUT_DIR,   // 项目根目录
             user:  process.env.USER   //hbuilderx登录用户名 
            // , watchDir: false  //是否需要监听配置文件变更,热部署 默认 true
        }]) 
    ]
});

在 {dir} 目录下,分别建立 condition easycom globalStyle pages .... 目录 ,就是 pages.json中的第一级节点 每个目录里面至少有一个index.js
内容为各自节点的数据 如 globalStyle/index.js

   module.exports ={
        "navigationStyle": "default",
        "navigationBarTextStyle": "black",
        "navigationBarTitleText": "uni-app",
        "navigationBarBackgroundColor": "#F8F8F8",
        "backgroundColor": "#F8F8F8"
    }

对于像 pages 这样的 数组节点, index.js中放的是 首页以及部分内容 如:

module.exports = [
        //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
        {
            "path": "pages/tabbar/index/index",
            "style": {
                "navigationBarTitleText": "发现"
            }
        },
        {
            "path": "pages/tabbar/tabbar-2/tabbar-2",
            "style": {}
        }, 
    ]

还可以放其他按照模块或者开发者名字的js 格式一致,这样达到团队开发不冲突的目的.

特殊: 名称带有 excludes 的文件, 发行时不合并 如: moduleA_excludes.js

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问