1.0.5 • Published 5 years ago

createroute-webpack-plugin v1.0.5

Weekly downloads
-
License
ISC
Repository
-
Last release
5 years ago

create-route

npm.io npm.io

使用

image

plugins: [
  new CreateRoute({
    pagesDir: 'src/view', // vue页面位置
    output: 'src/routes.js', // 输出路由文件位置
    mixin: { // 定义混入属性
      'l': {
        meta: {
          auth: true
        }
      }
    }
  })
]

生成routes.js文件

export default [
	{
		path: "/test",
		component: () => import("./view/test.vue"),
		name: "test"
	},
	{
		path: "/double-11",
		component: () => import("./view/double-11/index.vue"),
		name: "double-11_index"
	},
	{
		path: "/404",
		component: () => import("./view/404.vue"),
		name: "404"
	},
	{
		path: "/double-11/draw",
		component: () => import("./view/double-11/draw l.vue"),
		meta: {"auth":true},
		name: "double-11_draw"
	},
	{
		path: "/double-11/result",
		component: () => import("./view/double-11/result.vue"),
		name: "double-11_result"
	}
]

删除路由

在文件夹或者vue文件名前加"!"符号

首页路由

在文件夹里有'index.vue'文件时,被认为是该路由首页,路由中不显示'index'

动态路由

当文件以'_'开头时,被认为是动态路由,文件名为params

嵌套路由

当文件中vue文件与子文件夹名字相同时,被认为是嵌套路由,该vue组件里需有""作为父组件

image

export default [
	{
		path: "/test",
		component: () => import("./view/test.vue"),
		children: [
			{
				path: "",
				component: () => import("./view/test/index.vue"),
				name: "test_index"
			},
			{
				path: "a",
				component: () => import("./view/test/a.vue"),
				children: [
					{
						path: "",
						component: () => import("./view/test/a/index.vue"),
						name: "test_a_index"
					},
					{
						path: "b",
						component: () => import("./view/test/a/b.vue"),
						name: "test_a_b"
					}
				]
			},
			{
				path: ":id?",
				component: () => import("./view/test/_id.vue"),
				name: "test_id"
			}
		]
	},
	{
		path: "/404",
		component: () => import("./view/404.vue"),
		name: "404"
	}
]

混入属性

在mixin中定义的混入属性,在生成路由时,会判断文件名里是否有改属性的key,(用空格分开)如果有,则将改属性混入路由属性中

mixin: {
  'l': {
    meta: {
      auth: true
    }
  }
}

文件路径: 'src/view//double-11/draw l.vue',生成文件:

{
	path: "/double-11/draw",
	component: () => import("./view/double-11/draw l.vue"),
	meta: {"auth":true},
	name: "double-11_draw"
}
1.0.5

5 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago