Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
计算机应用开发
前端
Vuepress
提交
3b16c5c3
V
Vuepress
项目概览
计算机应用开发
/
前端
/
Vuepress
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
Vuepress
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
3b16c5c3
编写于
6月 14, 2018
作者:
U
ULIVZ
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat: support spearate "loadComponent" util
上级
b2c54849
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
19 addition
and
11 deletion
+19
-11
lib/app/util.js
lib/app/util.js
+0
-7
lib/prepare/codegen.js
lib/prepare/codegen.js
+19
-4
未找到文件。
lib/app/util.js
浏览文件 @
3b16c5c3
...
...
@@ -17,10 +17,3 @@ export function findPageForPath (pages, path) {
frontmatter
:
{}
}
}
// export function loadPage (key) {
// return import(${JSON.stringify(filepath)}).then(comp => {
// Vue.component(${JSON.stringify(componentName)}, comp.default)
// next()
// })
// }
lib/prepare/codegen.js
浏览文件 @
3b16c5c3
...
...
@@ -21,19 +21,33 @@ exports.pathsToModuleCode = function (files) {
return
code
}
exports
.
getPageComponentsLoadingFile
=
function
(
pages
)
{
let
code
=
'
const _l = {}
\n
'
code
+=
pages
.
map
(({
filepath
,
key
})
=>
{
return
`_l['
${
key
}
'] = () => import('
${
filepath
}
')`
}).
join
(
'
\n
'
)
code
+=
`\n\nexport default function loadComponent(key) {
return _l[key]()
}\n`
return
code
}
exports
.
genRoutesFile
=
async
function
({
siteData
:
{
pages
},
plugin
})
{
function
genRoute
({
filepath
,
path
:
pagePath
,
key
:
componentName
},
index
)
{
await
writeTemp
(
'
components-loader.js
'
,
exports
.
getPageComponentsLoadingFile
(
pages
))
function
genRoute
({
path
:
pagePath
,
key
:
componentName
},
index
)
{
let
code
=
`
{
name:
${
JSON
.
stringify
(
componentName
)}
,
path:
${
JSON
.
stringify
(
pagePath
)}
,
component: ThemeLayout,
beforeEnter: (to, from, next) => {
loadPageComponent("v-6e489b82c1bb8").then(next)
import(
${
JSON
.
stringify
(
filepath
)}
).then(comp => {
loadComponent(
${
JSON
.
stringify
(
componentName
)}
).then(comp => {
Vue.component(
${
JSON
.
stringify
(
componentName
)}
, comp.default)
next()
})
...
...
@@ -80,7 +94,8 @@ exports.genRoutesFile = async function ({
`import Vue from 'vue'\n`
+
`import ThemeLayout from '@themeLayout'\n`
+
`import ThemeNotFound from '@themeNotFound'\n`
+
`import { injectMixins, loadPageComponent } from '@app/util'\n`
+
`import { injectMixins } from '@app/util'\n`
+
`import loadComponent from '@temp/components-loader'\n`
+
`import rootMixins from '@temp/root-mixins'\n\n`
+
`injectMixins(ThemeLayout, rootMixins)\n`
+
`injectMixins(ThemeNotFound, rootMixins)\n\n`
+
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录