You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
	
	
		
		
			
	
    
		
			
				
					
						                                                                                                       | 
						 | 
						'use strict';Object.defineProperty(exports, '__esModule', {  value: true,});const fs = require('fs');import stripJsonComments from './strip-json-comments';import { isArray, isEmpty } from 'lodash';
class TransformPages {  constructor({ includes, pagesJsonDir }) {    this.includes = includes;    this.uniPagesJSON = JSON.parse(stripJsonComments(fs.readFileSync(pagesJsonDir, 'utf-8')));    this.routes = this.getPagesRoutes().concat(this.getSubPackagesRoutes());    this.tabbar = this.getTabbarRoutes();    this.routesMap = this.transformPathToKey(this.routes);  }  /**   * 通过读取pages.json文件 生成直接可用的routes   */  getPagesRoutes(pages = this.uniPagesJSON.pages, rootPath = null) {    let routes = [];    for (let i = 0; i < pages.length; i++) {      const item = pages[i];      let route = {};      for (let j = 0; j < this.includes.length; j++) {        const key = this.includes[j];        let value = item[key];        if (key === 'path') {          value = rootPath ? `/${rootPath}/${value}` : `/${value}`;        }        if (key === 'aliasPath' && i == 0 && rootPath == null) {          route[key] = route[key] || '/';        } else if (value !== undefined) {          route[key] = value;        }      }      routes.push(route);    }    return routes;  }  /**   * 解析小程序分包路径   */  getSubPackagesRoutes() {    if (!(this.uniPagesJSON && this.uniPagesJSON.subPackages)) {      return [];    }    const subPackages = this.uniPagesJSON.subPackages;    let routes = [];    for (let i = 0; i < subPackages.length; i++) {      const subPages = subPackages[i].pages;      const root = subPackages[i].root;      const subRoutes = this.getPagesRoutes(subPages, root);      routes = routes.concat(subRoutes);    }    return routes;  }
  getTabbarRoutes() {    if (!(this.uniPagesJSON && this.uniPagesJSON.tabBar && this.uniPagesJSON.tabBar.list)) {      return [];    }    const tabbar = this.uniPagesJSON.tabBar.list;    let tabbarMap = [];    tabbar.forEach((bar) => {      tabbarMap.push('/' + bar.pagePath);    });    return tabbarMap;  }
  transformPathToKey(list) {    if (!isArray(list) || isEmpty(list)) {      return [];    }    let map = {};    list.forEach((i) => {      map[i.path] = i;    });    return map;  }}
function uniReadPagesV3Plugin({ pagesJsonDir, includes }) {  let defaultIncludes = ['path', 'aliasPath', 'name'];  includes = [...defaultIncludes, ...includes];  let pages = new TransformPages({    pagesJsonDir,    includes,  });  return {    name: 'uni-read-pages-v3',    config(config) {      return {        define: {          ROUTES: pages.routes,          ROUTES_MAP: pages.routesMap,          TABBAR: pages.tabbar,        },      };    },  };}exports.default = uniReadPagesV3Plugin;
  |