{"_id":"z-auto-route2","name":"z-auto-route2","dist-tags":{"latest":"1.0.8"},"versions":{"1.0.8":{"name":"z-auto-route2","version":"1.0.8","description":"generate vue-router auto route","keywords":["Vue","Vue Router","routing","auto generate","auto routing","webpack-plugin"],"repository":{"type":"git","url":"git+https://github.com/zhicaizhu123/z-auto-router.git"},"author":{"name":"Peter Chu","email":"zhicaizhu123@126.com"},"license":"ISC","main":"lib/routes.js","typings":"index.d.ts","scripts":{"prepublishOnly":"npm run clean && npm run build","clean":"rm -rf lib","build":"tsc -p src","dev":"tsc -p src --watch","lint":"tslint -p . && prettier --list-different \"{src,scripts,test}/**/*.{js,ts}\"","format":"prettier --write \"{src,scripts,test}/**/*.{js,ts}\""},"devDependencies":{"@types/fs-extra":"^8.0.0","@types/node":"^14.0.1","@types/prettier":"^2.0.0","@types/webpack":"^4.32.1","eslint":"^7.3.0","fast-glob":"^3.0.4","fs-extra":"^9.0.0","jest":"^25.1.0","prettier":"2.0.5","tslint":"^5.18.0","tslint-config-prettier":"^1.18.0","typescript":"^3.5.3","vue":"^2.6.10","vue-router":"^3.1.2","vue-template-compiler":"^2.6.10","webpack":"^4.39.2"},"dependencies":{},"gitHead":"64a4d3cedc8b6adb173b83de47a682133e8caa7e","bugs":{"url":"https://github.com/zhicaizhu123/z-auto-router/issues"},"homepage":"https://github.com/zhicaizhu123/z-auto-router#readme","_id":"z-auto-route2@1.0.8","_nodeVersion":"19.7.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-oIt3DGJ+xfF+VLHIi67aT9a7l/wKWUMx8oZqGL9uZd8b8N8M7mcP9mOsL8ZVW/oj30sx6H0irGjBqQFiTW8vtg==","shasum":"5996d324972b44397d21a0c8add78c697af43afc","tarball":"https://registry.npmjs.org/z-auto-route2/-/z-auto-route2-1.0.8.tgz","fileCount":13,"unpackedSize":20983,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDTbaRQtgvyMjy36HS1U96pXh+v6I9EeNAYrlzwXImYdgIhAKpQTjChEp3kUY4BUkdxjzXH3e36ttyNo8sg6A0QdC69"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkGbKpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpcng/5AZAdODQSoK6cBgFZguaIC7jk6eCzL9F6HXElgzNXHkgKv6rR\r\nlkJyiP//S4iU6PM/62aRVp2It7+x3kXvAjSc9Gd7zchdVSjhn+kK6JbGPY0x\r\njAQ4YYZLB2eYz0Vz/ug71eNqZN4RB6/B14MGzmPc4i2LdKC0XPhZ3NXQ4BqL\r\nL2wagSACDX0JnHbpKYCwBrxsbOIiMjoKwKJVmWj017oDPb2eMS6H4jpTWT83\r\nh7cd9XC3gYy/Yz69/5U5TFxau28J8d2LxSPWWRAvdJk7WKO9d7MjrNu1z+25\r\nAD+MY0oD6i7vSpCtgXM8YVDBtcoZOdjQ82lX2iRV3YV2WrahMmhaFVaFjS7D\r\nN3jv5FC9fbuDfESMASzpr3DoeOogneI2/1sBZINtaScfT5SGPo7+vMmOt4J3\r\nIbpeBtQIduLo+uBXsmktSPi5MBGo6/NQwrhVjc2AoRRXkvUnbd2BKiQE8c2M\r\nkF/t36zWQufaLsEqnFFOEJYsnByLsYTQ0F6NHnfsB6sNuriUhfNCIEj+5I3o\r\nbvrrXTvZNhNZmQkvg/ICrC2G35mbdmXuoYnVv9L3XZ1Ue8AhowhnPPMz8fGK\r\nQX/Zzl0V7JlpMfJZ3jVu7rRyzVpPli3f3l744pTDVxleQhu0/LQ9S5d4cVM9\r\nvj5zYjxqTCmWrp89/4uDCZcGr4IB2JDvMZs=\r\n=JDSw\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"caolvchong","email":"caolvchong@gmail.com"},"directories":{},"maintainers":[{"name":"caolvchong","email":"caolvchong@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/z-auto-route2_1.0.8_1679405737248_0.10893222422452009"},"_hasShrinkwrap":false}},"time":{"created":"2023-03-21T13:35:37.247Z","1.0.8":"2023-03-21T13:35:37.406Z","modified":"2023-03-21T13:35:37.635Z"},"maintainers":[{"name":"caolvchong","email":"caolvchong@gmail.com"}],"description":"generate vue-router auto route","homepage":"https://github.com/zhicaizhu123/z-auto-router#readme","keywords":["Vue","Vue Router","routing","auto generate","auto routing","webpack-plugin"],"repository":{"type":"git","url":"git+https://github.com/zhicaizhu123/z-auto-router.git"},"author":{"name":"Peter Chu","email":"zhicaizhu123@126.com"},"bugs":{"url":"https://github.com/zhicaizhu123/z-auto-router/issues"},"license":"ISC","readme":"# z-auto-route 基于 Vue Router 自动化路由\n\n### 安装\n\n```sh\nnpm i -S z-auto-route\n```\n\n### webpack 配置项\n\n| 属性            | 描述                                                                                           | 类型   | 是否必选 | 默认值         |\n| --------------- | ---------------------------------------------------------------------------------------------- | ------ | -------- | -------------- |\n| pages           | 需要自动生成文件的目录                                                                         | String | 否       |                | 'src/views' |\n| importPrefix    | import 引入页面文件的前缀目录                                                                  | String | 否       | '@/views'      |\n| dynamic         | 是否按需加载                                                                                   | String | 否       | true           |\n| chunkNamePrefix | 按需加载 chunkName 的前缀                                                                      | String | 否       | 无             |\n| layout          | 处理成布局文件的文件名                                                                         | String | 否       | '\\_layout.vue' |\n| routePath       | 路由生成的文件目录，如果设置了则会在当前项目指定目录生成路由文件，否则可以从`z-auto-route`导入 | String | 否       | 无             |\n\n### 页面 customBlock 配置\n\n在需要生成路由的 vue 文件头部加上`z-route`标签，里面为 json\n\n```html\n<z-route>\n  { \"dynamic\": false, \"meta\": { \"title\": \"根布局页面\" } }\n</z-route>\n```\n\n其中`meta`为`vue-router`配置的`meta`属性一致，`dynamic`为单独设置该路由是否为按需加载，不设置默认使用全局配置的`dynamic`\n\n**注意**：\n\n- 如果没有`z-route`标签则该页面不会不会生成路由\n- 暂时只支持`meta`和`dynamic`两个设置项。\n- 如果需要`z-route`标签高亮，可以设置 `vs-code` 的 `settings.json`\n\n  ```json\n  \"vetur.grammar.customBlocks\": {\n    \"z-route\": \"json\"\n  }\n  ```\n\n  执行 vscode 命令\n\n  ```sh\n  > Vetur: Generate grammar from vetur.grammar.customBlocks\n  ```\n\n### 使用\n\n#### webpack 配置\n\n在 weppack 配置文件中配置内容，以下为 vue.config.js 的配置信息\n\n```js\n// vue.config.js\nconst ZAutoRoute = require('z-auto-route/lib/webpack-plugin')\n\n...\n  configureWebpack: (config) => {\n    config.plugins = [\n      ...config.plugins,\n      new ZAutoRoute({\n        pages: 'src/views', // 路由页面文件存放地址， 默认为'src/views'\n        importPrefix: '@/views/', // import引入页面文件的前缀目录，默认为'@/views/'\n      }),\n    ]\n  }\n...\n```\n\n#### 路由文件配置\n\n```js\n// 路由初始化\nimport Vue from 'vue'\nimport VueRouter from 'vue-router'\nimport routes from 'z-auto-route'\n\nVue.use(VueRouter)\n\nconst router = new VueRouter({\n  mode: 'history',\n  base: process.env.BASE_URL,\n  routes,\n})\n\nexport default router\n```\n\n#### 示例项目目录\n\n```\n|-- views\n  |-- _layout.vue // 全局布局组件\n  |-- homepage.vue // 首页\n  |-- system // 系统管理\n    |-- _layout.vue // 嵌套路由\n    |-- role // 角色管理\n      |-- index.vue\n    |-- user // 用户管理\n      |-- index\n      |-- _id // 用户详情\n        |-- index.vue\n```\n\n#### 示例生成路由结构\n\n```js\nimport _layout from '@/views/_layout.vue'\nfunction system__layout() {\n  return import(\n    /* webpackChunkName: \"system-layout\" */ '@/views/system/_layout.vue'\n  )\n}\nfunction system_role_index() {\n  return import(\n    /* webpackChunkName: \"system-role-index\" */ '@/views/system/role/index.vue'\n  )\n}\nfunction system_user_index() {\n  return import(\n    /* webpackChunkName: \"system-user-index\" */ '@/views/system/user/index.vue'\n  )\n}\nfunction system_user__id_index() {\n  return import(\n    /* webpackChunkName: \"system-user-id-index\" */ '@/views/system/user/_id/index.vue'\n  )\n}\nimport homepage from '@/views/homepage.vue'\n\nexport default [\n  {\n    name: 'layout',\n    path: '/',\n    component: _layout,\n    meta: {\n      title: '布局组件',\n      hide: true,\n    },\n    dynamic: false,\n    children: [\n      {\n        name: 'system-layout',\n        path: '/system',\n        component: system__layout,\n        meta: {\n          title: '系统管理',\n        },\n        sortIndex: 0,\n        children: [\n          {\n            name: 'system-role',\n            path: 'role',\n            component: system_role_index,\n            meta: {\n              title: '角色管理',\n            },\n          },\n          {\n            name: 'system-user',\n            path: 'user',\n            component: system_user_index,\n            meta: {\n              title: '用户管理',\n            },\n          },\n          {\n            name: 'system-user-id',\n            path: 'user/:id',\n            component: system_user__id_index,\n            meta: {\n              title: '用户详情',\n              hide: true,\n            },\n          },\n        ],\n      },\n      {\n        name: 'homepage',\n        path: '/homepage',\n        component: homepage,\n        meta: {\n          title: '首页',\n        },\n        dynamic: false,\n        sortIndex: -1,\n      },\n    ],\n  },\n]\n```\n\n#### 效果图\n\n![image](https://note.youdao.com/yws/public/resource/1bd71e3d09ed1aee2763fe2efcb0e114/53A610CD1092485EBC58A191C13BFF59?ynotemdtimestamp=1593085785896)\n![image](https://note.youdao.com/yws/public/resource/1bd71e3d09ed1aee2763fe2efcb0e114/8874AB16BFD441CAA4C34E3977DB7625?ynotemdtimestamp=1593085785896)\n","readmeFilename":"README.md"}