{"_id":"@eileenye/vue-cli-auto-router-plugin","_rev":"2-03019f086725b5021cbb9792d2396b32","name":"@eileenye/vue-cli-auto-router-plugin","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"@eileenye/vue-cli-auto-router-plugin","version":"1.0.0","description":"创建路由","main":"./index.js","repository":{"type":"git","url":"git+https://github.com/eileen0817/vue-cli-auto-router-plugin.git","directory":"vue-cli-auto-router-plugin"},"keywords":["vue","cli","generate","router","plugin","vue-cli-plugin-create-router","vue-cli-auto-router-plugin"],"homepage":"https://github.com/eileen0817/vue-cli-auto-router-plugin/blob/master/README.md","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"ye"},"license":"MIT","dependencies":{"globby":"^9.2.0","chalk":"^2.4.2","watch":"^1.0.2"},"publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/eileen0817/vue-cli-auto-router-plugin.git"},"gitHead":"0e2f3f9d76c938da449bc3437796cde5aea5eaca","_id":"@eileenye/vue-cli-auto-router-plugin@1.0.0","_nodeVersion":"14.21.3","_npmVersion":"6.14.18","dist":{"integrity":"sha512-brQontq35rSxoDezwSWeusq6CxtU9Ph22rX0UF+iy/nIu8Ly+azW13fTNkkVSTKuSl0JhYSOYs6GC9dnocOLHQ==","shasum":"4c8686282d92f68bf988d54861abb638c1388759","tarball":"https://registry.npmjs.org/@eileenye/vue-cli-auto-router-plugin/-/vue-cli-auto-router-plugin-1.0.0.tgz","fileCount":7,"unpackedSize":22497,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG4eBbEkMT+7IWdOT6lwqeEM9QB9dqKwlV6pdOoH7WZaAiEAo9NHhHHo6v0rtJnpIGwBTdBVN8lwpRrhHfMQhcSF/Lw="}]},"_npmUser":{"name":"eileenye","email":"yemlit@163.com"},"directories":{},"maintainers":[{"name":"eileenye","email":"yemlit@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-cli-auto-router-plugin_1.0.0_1711691464410_0.30405791824621375"},"_hasShrinkwrap":false},"1.0.1":{"name":"@eileenye/vue-cli-auto-router-plugin","version":"1.0.1","description":"创建路由","main":"index.js","repository":{"type":"git","url":"git+https://github.com/eileen0817/vue-cli-auto-router-plugin.git","directory":"vue-cli-auto-router-plugin"},"keywords":["vue","cli","generate","router","plugin","vue-cli-plugin-create-router","vue-cli-auto-router-plugin"],"homepage":"https://github.com/eileen0817/vue-cli-auto-router-plugin/blob/master/README.md","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"ye"},"license":"MIT","dependencies":{"globby":"^9.2.0","chalk":"^2.4.2","watch":"^1.0.2"},"publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/eileen0817/vue-cli-auto-router-plugin.git"},"gitHead":"0e2f3f9d76c938da449bc3437796cde5aea5eaca","_id":"@eileenye/vue-cli-auto-router-plugin@1.0.1","_nodeVersion":"14.21.3","_npmVersion":"6.14.18","dist":{"integrity":"sha512-SqckLWKly3xJy3eq8kFgllp1NVCmfE5VO+IFAV5qMBtrJE1w/ef8HVxW1XlcWFJC87ym1uamexBozZdBdjMQng==","shasum":"cc301c02ceb00eeb134ebc43990e50aaa2b04e7c","tarball":"https://registry.npmjs.org/@eileenye/vue-cli-auto-router-plugin/-/vue-cli-auto-router-plugin-1.0.1.tgz","fileCount":7,"unpackedSize":22479,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAy/7WXc7LdFkqTIbxpwMWG2C4yduTidyxPFYn+rwB09AiAajSHUuuD5cDFZH3wD2YjcdqnuxR1L7Vqxf5InseHx3A=="}]},"_npmUser":{"name":"eileenye","email":"yemlit@163.com"},"directories":{},"maintainers":[{"name":"eileenye","email":"yemlit@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-cli-auto-router-plugin_1.0.1_1711801757889_0.1963641070088855"},"_hasShrinkwrap":false},"1.0.2":{"name":"@eileenye/vue-cli-auto-router-plugin","version":"1.0.2","description":"vue-cli3 router plugin","main":"./index.js","repository":{"type":"git","url":"git+https://github.com/eileen0817/vue-cli-auto-router-plugin.git","directory":"vue-cli-auto-router-plugin"},"keywords":["vue","cli","generate","router","plugin","vue-cli-plugin-create-router","vue-cli-auto-router-plugin"],"author":{"name":"ye"},"license":"MIT","dependencies":{"globby":"^9.2.0","chalk":"^2.4.2","watch":"^1.0.2"},"homepage":"https://github.com/eileen0817/vue-cli-auto-router-plugin/blob/master/README.md","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/eileen0817/vue-cli-auto-router-plugin.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"gitHead":"0e2f3f9d76c938da449bc3437796cde5aea5eaca","_id":"@eileenye/vue-cli-auto-router-plugin@1.0.2","_nodeVersion":"14.21.3","_npmVersion":"6.14.18","dist":{"integrity":"sha512-GckBy24+PdQDADDNAkBb2UqbbDDYF1zdxc1f4ezUlW11ZGzdtP4Qm44n1lVGZKjvm8gRO7vzh7pYqJqZ5wKqUg==","shasum":"2ac351675d4b69b17d0e9c06efd6c8ac5927dc13","tarball":"https://registry.npmjs.org/@eileenye/vue-cli-auto-router-plugin/-/vue-cli-auto-router-plugin-1.0.2.tgz","fileCount":7,"unpackedSize":22499,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC+50GVgJcPkdl6j1OtOWEphCE5OFvhGNHUrMrdX61WBgIgRWsXMxXfXdugLWjk9LAm/ZLhu5ceV4zCosd/66qXcEk="}]},"_npmUser":{"name":"eileenye","email":"yemlit@163.com"},"directories":{},"maintainers":[{"name":"eileenye","email":"yemlit@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-cli-auto-router-plugin_1.0.2_1711802693622_0.47534734142576407"},"_hasShrinkwrap":false}},"time":{"created":"2024-03-29T05:51:04.317Z","1.0.0":"2024-03-29T05:51:04.599Z","modified":"2024-03-30T12:44:53.975Z","1.0.1":"2024-03-30T12:29:18.088Z","1.0.2":"2024-03-30T12:44:53.831Z"},"maintainers":[{"name":"eileenye","email":"yemlit@163.com"}],"description":"vue-cli3 router plugin","homepage":"https://github.com/eileen0817/vue-cli-auto-router-plugin/blob/master/README.md","keywords":["vue","cli","generate","router","plugin","vue-cli-plugin-create-router","vue-cli-auto-router-plugin"],"repository":{"type":"git","url":"git+https://github.com/eileen0817/vue-cli-auto-router-plugin.git","directory":"vue-cli-auto-router-plugin"},"author":{"name":"ye"},"bugs":{"url":"https://github.com/eileen0817/vue-cli-auto-router-plugin.git"},"license":"MIT","readme":"# @eileenye/vue-cli-auto-router-plugin\n\n> vue-cli3 的 create-router 插件\n\n- **安装**\n\n  ```\n  vue add @eileenye/create-router\n  or\n  npm install @eileenye/vue-cli-auto-router-plugin -D\n  or\n  cnpm install @eileenye/vue-cli-auto-router-plugin -D\n  ```\n\n## 注入的命令\n\n- **`vue-cli-service createRouter`**\n\n  ```\n  使用：vue-cli-service createRouter [options]\n\n  选项：\n    --async 开启路由异步模式，实现路由组件的懒加载 (默认不开启)\n  ```\n\n  ```\n  ## 注\n  create-router 插件对 vue-cli-service serve 增加了 --watch 监听模式\n  可以运行 npx vue-cli-service help serve 查看所有选项\n  如有需要，可以监听模式运行 serve 服务，监听 projectPath 目录下文件的 created，removed，changed\n  ```\n\n## 配置\n可以通过 `vue.config.js` > `pluginOptions.createRouterConfig` 进行配置\n\n``` js\n// vue.config.js\nmodule.exports = {\n  pluginOptions: {\n       createRouterConfig: {\n          // 工作目录（默认: src）\n          cwd: path.resolve(process.cwd(), './src'),\n          // 项目页面地址（默认: views）\n          projectPath: `views`,\n          // 生成路由文件的名称（默认: index）\n          outputFileName: 'index',\n          // 忽略的页面文件（不被写入 router 配置）（默认：[]）（例：['login', 'header.vue']）\n          ignore: [],\n          // 开启路由异步模式（默认: true）\n          async: true,\n          // 以监听模式运行 serve 服务，监听 projectPath 目录下文件的 created，removed，changed （默认: true）\n          watch: true,\n          // 以监听模式运行 serve 服务，监听 projectPath 目录下文件的 changed （默认: watch 的值）\n          changeWatch: true\n      }\n   }\n}\n```\n\n## 项目目录\n\n```\n.\n├─assets\n├─components\n├─views\n│  ├─layout\n│  │   └─home.vue\n│  └─layout.vue,\n│  └─login.vue,\n├─router\n│  └─index.js\n└─store\n```\n\n创建内嵌子路由，你需要添加一个 vue 文件，同时添加一个与该文件同名的目录用来存放子视图组件\n\n使用 **`<router-config>`** 标签\n可以对每个页面进行单独配置，并且会覆盖 createRouterConfig 中的全局配置，更多路由介绍请查看 [vue-router 官网](https://router.vuejs.org/zh/)\n```\n# views/layout.vue\n<router-config>\n{\n    // 注释说明文字\n    note: 'Layout 页面',\n    // 是否忽略当前文件（写入 router 配置）（true：忽略，false：不忽略）\n    ignore: false,\n    // 开启路由异步模式（默认: true）\n    async: true,\n    // 监听当前页面内容的 changed （默认: watch 的值）\n    changeWatch: true,\n\n    // 以下参数请参考 vue-router 官网\n    path: '/layout',\n    alias: '',\n    redirect: '',\n    meta: {\n        code...\n    },\n    beforeEnter: function(to, from, next) {\n        code...\n    }\n}\n</router-config>\n\n<template>\n    <div>\n        hello\n    </div>\n</template>\n\n<script>\nexport default {\n    name: 'layout',\n    mounted() {\n        this.$nextTick(() => {\n            // 获取 <router-config> 标签的内容\n            console.log(this.$options._router)\n        });\n    }\n}\n</script>\n```\n\n`<route-config>` 包含一个 `json` 的内容, 其中字段会同步到生成的 `router/index.js` 路由配置文件\n\n启动项目后生成文件`router/index.js`\n\n```\n\n// Layout 页面\nconst layout = () => import('@/views/layout')\n// Home 页面\nimport layoutHome from '@/views/layout/home'\n// 登录 页面\nimport login from '@/views/login'\n\nconst routes = [\n    {\n        name: \"/layout\",\n        path: \"/layout\",\n        component: layout,\n        children: [\n        {\n            name: \"/layout/home\",\n            path: \"home\",\n            component: layoutHome\n        }\n        ],\n        meta: {\n            requiresAuth: true\n        },\n        redirect: {\n            name: \"/test\"\n        },\n        beforeEnter: function(to, from, next) {\n            next()\n        }\n    },\n    {\n        name: \"/login\",\n        path: \"/login\",\n        component: login\n    }\n]\n\nexport default routes\n```\n\n``` js\n// main.js\nimport Vue from 'vue'\nimport App from './App.vue'\nimport Router from 'vue-router' \nVue.use(Router) \n\nimport routes from '@/router' // @：src\n\nconst router = new Router({\n    routes\n})\n\nnew Vue({\n  router,\n  store,\n  render: h => h(App)\n}).$mount('#app')\n```\n\n## 路由文件生成规则\n``` js\n路由 name 和 path 默认按照文件路径命名，例如 /layout/test1/test2/home\n{\n    name: \"/layout/test1/test2/home\",\n    path: \"/layout/test1/test2/home\",\n    component: layoutTest1Test2Home\n}\n```\n\n## 注意事项\n```\n默认 <route-config> 标签的内容发生改变后自动触发更新路由配置文件.\n可以在 createRouterConfig 全局或者单个文件上设置 changeWatch：true | false 开启或关闭.\n```\n\n```\n[ ] { } # % $ ^ * + = - | ~ < > . , ? ! @ & ( ) : ; \" & \\\\ @\n以上关键字命名的 vue 文件，会自动过滤掉关键字\n/layout/test1/test2/h@#$%~^&*ome = /layout/test1/test2/home\n```","readmeFilename":"README.md"}