更新记录

1.0.5(2020-03-12)

bugFix

  • 除小程序端以为无法读取 subPackages 的bug

1.0.4(2020-01-18)

bugFix

  • 脚手架项目路径错误的bug(#1)
  • 小程序分包无法读取的bug

    revise

  • 去除配置 cli:false

1.0.0(2020-01-13)

add

  • 内置方式 getPagesRoutesparsePagesresolvePath
  • 内置属性 CONFIGwebpackuniPagesJSONroutes

    bugFix

  • 未配置 aliasPath 时,默认读取的 routes 无法满足H5

    revise

  • 修改 includes 配置项为 ['path','aliasPath','name']
查看更多

平台兼容性

uni-read-pages

coverage npm license size

通过 vue.config.js 配合此库,可以随心所欲的读取 pages.json 下的所有配置

安装

您可以使用 Yarnnpm 安装该软件包(选择一个):

Yarn
yarn add uni-read-pages
npm
npm install uni-read-pages

开始

配置 vue.config.js 通过 webpack 注入全局变量 查看文档

配置 vue.config.js

//vue.config.js
const TransformPages = require('uni-read-pages')
const tfPages = new TransformPages()
module.exports = {
    configureWebpack: {
        plugins: [
            new tfPages.webpack.DefinePlugin({
                ROUTES: JSON.stringify(tfPages.routes)
            })
        ]
    }
}

借助webpack.DefinePlugin 轻松注入全局变量。ROUTES 及可全局使用

使用

// xxx.vue
<script>
export default {
    data() {
        return {
            title: 'Hello'
        }
    },
    onLoad() {
        console.log(ROUTES)
    },
}
</script>

API

options

//默认值
const CONFIG={
    includes:['path','aliasPath','name']       //需要获取包涵的字段
}

Instance method

  • getPagesRoutes

    • 通过读取 pages.json 文件 生成直接可用的routes
  • parsePages(pageCallback, subPageCallback)

    • 单条page对象解析
  • resolvePath(dir)

    • 解析绝对路径

Instance attr

  • CONFIG

    • 当前配置项
  • webpack

    • 当前工程下需要用到 webpack
  • uniPagesJSON

    • 当前 uni-app 内置对象,可以通过此属性调用一些内置方法
  • routes

    • 通过 includes 解析后得到的路由表 可直接使用

getter

  • pagesJson
    • 获取所有 pages.json 下的内容 返回 json

uniPagesJSON method

  • getMainEntry()
  • getNVueMainEntry()
  • parsePages (pagesJson, pageCallback, subPageCallback)
  • parseEntry (pagesJson)
  • getPagesJson()
  • parsePagesJson (content, loader)

uniPagesJSON attr

  • pagesJsonJsFileName //默认值 pages.js

隐私、权限声明

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

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

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

许可协议

MIT协议

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