Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
计算机应用开发
前端
Vuepress
提交
39061a49
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,发现更多精彩内容 >>
提交
39061a49
编写于
4月 09, 2018
作者:
E
Evan You
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
component import + hash jumping
上级
c7cd345f
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
25 addition
and
12 deletion
+25
-12
lib/app/app.js
lib/app/app.js
+10
-1
lib/prepare.js
lib/prepare.js
+15
-11
未找到文件。
lib/app/app.js
浏览文件 @
39061a49
...
...
@@ -32,7 +32,16 @@ export function createApp () {
fallback
:
false
,
linkActiveClass
:
''
,
linkExactActiveClass
:
''
,
routes
routes
,
scrollBehavior
:
(
to
,
from
,
saved
)
=>
{
if
(
saved
)
{
return
saved
}
else
if
(
to
.
hash
)
{
return
{
selector
:
to
.
hash
}
}
else
{
return
{
x
:
0
,
y
:
0
}
}
}
})
const
app
=
new
Vue
({
...
...
lib/prepare.js
浏览文件 @
39061a49
...
...
@@ -135,20 +135,16 @@ async function resolveOptions (sourceDir) {
return
options
}
async
function
genComponentRegistrationFile
({
sourceDir
,
pageFiles
})
{
async
function
genComponentRegistrationFile
({
sourceDir
})
{
function
genImport
(
file
)
{
const
name
=
fileToComponentName
(
file
)
const
baseDir
=
/
\.
md$/
.
test
(
file
)
?
sourceDir
:
path
.
resolve
(
sourceDir
,
'
.vuepress/components
'
)
const
baseDir
=
path
.
resolve
(
sourceDir
,
'
.vuepress/components
'
)
const
absolutePath
=
path
.
resolve
(
baseDir
,
file
)
const
code
=
`Vue.component(
${
JSON
.
stringify
(
name
)}
, () => import(
${
JSON
.
stringify
(
absolutePath
)}
))`
return
code
}
const
components
=
(
await
resolveComponents
(
sourceDir
))
||
[]
const
all
=
[...
pageFiles
,
...
components
]
return
`import Vue from 'vue'\n`
+
all
.
map
(
genImport
).
join
(
'
\n
'
)
return
`import Vue from 'vue'\n`
+
components
.
map
(
genImport
).
join
(
'
\n
'
)
}
const
indexRE
=
/
\b
readme
\.
md$/i
...
...
@@ -189,12 +185,20 @@ async function resolveComponents (sourceDir) {
return
await
globby
([
'
**/*.vue
'
],
{
cwd
:
componentDir
})
}
async
function
genRoutesFile
({
siteData
:
{
pages
}})
{
function
genRoute
({
path
})
{
async
function
genRoutesFile
({
siteData
:
{
pages
},
sourceDir
,
pageFiles
})
{
function
genRoute
({
path
:
pagePath
},
index
)
{
const
file
=
pageFiles
[
index
]
const
filePath
=
path
.
resolve
(
sourceDir
,
file
)
const
code
=
`
{
path:
${
JSON
.
stringify
(
path
)}
,
component: Theme
path:
${
JSON
.
stringify
(
pagePath
)}
,
component: Theme,
beforeEnter: (to, from, next) => {
import(
${
JSON
.
stringify
(
filePath
)}
).then(comp => {
Vue.component(
${
JSON
.
stringify
(
fileToComponentName
(
file
))}
, comp.default)
next()
})
}
}`
return
code
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录