Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
uni-app
提交
fddbaa7f
U
uni-app
项目概览
DCloud
/
uni-app
6 个月 前同步成功
通知
750
Star
38709
Fork
3642
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
8
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
8
Issue
8
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
fddbaa7f
编写于
10月 28, 2021
作者:
雪洛
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat: page-meta-head support
上级
ecef394d
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
38 addition
and
3 deletion
+38
-3
packages/uni-app-vite/src/plugin/uni/index.ts
packages/uni-app-vite/src/plugin/uni/index.ts
+6
-1
packages/uni-cli-shared/src/utils.ts
packages/uni-cli-shared/src/utils.ts
+12
-0
packages/uni-cli-shared/src/vue/transforms/transformPageHead.ts
...es/uni-cli-shared/src/vue/transforms/transformPageHead.ts
+6
-2
packages/uni-components/lib/page-meta-head/page-meta-head.vue
...ages/uni-components/lib/page-meta-head/page-meta-head.vue
+9
-0
packages/uni-mp-vite/src/plugin/uni/index.ts
packages/uni-mp-vite/src/plugin/uni/index.ts
+5
-0
未找到文件。
packages/uni-app-vite/src/plugin/uni/index.ts
浏览文件 @
fddbaa7f
import
{
isNativeTag
,
isCustomElement
}
from
'
@dcloudio/uni-shared
'
import
{
compileI18nJsonStr
}
from
'
@dcloudio/uni-i18n
'
import
{
UniVitePlugin
,
initI18nOptions
}
from
'
@dcloudio/uni-cli-shared
'
import
{
UniVitePlugin
,
initI18nOptions
,
transformPageHead
,
}
from
'
@dcloudio/uni-cli-shared
'
export
function
uniOptions
():
UniVitePlugin
[
'
uni
'
]
{
return
{
...
...
@@ -28,6 +32,7 @@ export function uniOptions(): UniVitePlugin['uni'] {
compilerOptions
:
{
isNativeTag
,
isCustomElement
,
nodeTransforms
:
[
transformPageHead
],
},
transformEvent
:
{
tap
:
'
click
'
,
...
...
packages/uni-cli-shared/src/utils.ts
浏览文件 @
fddbaa7f
...
...
@@ -7,11 +7,23 @@ export { default as hash } from 'hash-sum'
import
{
PAGE_EXTNAME
,
PAGE_EXTNAME_APP
}
from
'
./constants
'
import
{
SFCTemplateCompileOptions
}
from
'
@vue/compiler-sfc
'
import
{
NodeTypes
,
ElementNode
,
Node
}
from
'
@vue/compiler-core
'
export
const
isWindows
=
os
.
platform
()
===
'
win32
'
export
function
normalizePath
(
id
:
string
):
string
{
return
isWindows
?
id
.
replace
(
/
\\
/g
,
'
/
'
)
:
id
}
export
function
checkElementNodeTag
(
node
:
Node
|
null
|
undefined
,
tag
:
string
):
node
is
ElementNode
{
return
(
!!
node
&&
node
.
type
===
NodeTypes
.
ELEMENT
&&
(
node
as
ElementNode
).
tag
===
tag
)
}
export
const
resolveMainPathOnce
=
once
((
inputDir
:
string
)
=>
{
const
mainTsPath
=
path
.
resolve
(
inputDir
,
'
main.ts
'
)
if
(
fs
.
existsSync
(
mainTsPath
))
{
...
...
packages/uni-cli-shared/src/vue/transforms/transformPageHead.ts
浏览文件 @
fddbaa7f
import
{
NodeTransform
}
from
'
@vue/compiler-core
'
import
{
checkElementNodeTag
}
from
'
../../utils
'
export
const
transformPageHead
:
NodeTransform
=
(
_node
,
_context
)
=>
{
// 发现是page-meta下的page-head,直接remove该节点
export
const
transformPageHead
:
NodeTransform
=
(
node
,
context
)
=>
{
// 发现是page-meta下的page-meta-head,直接remove该节点
checkElementNodeTag
(
node
,
'
page-meta-head
'
)
&&
checkElementNodeTag
(
context
.
parent
,
'
page-meta
'
)
&&
context
.
removeNode
(
node
)
}
packages/uni-components/lib/page-meta-head/page-meta-head.vue
0 → 100644
浏览文件 @
fddbaa7f
<
template
>
<teleport
to=
"__head__"
>
<slot
/>
</teleport>
</
template
>
<
script
>
export
default
{
}
</
script
>
packages/uni-mp-vite/src/plugin/uni/index.ts
浏览文件 @
fddbaa7f
...
...
@@ -4,6 +4,7 @@ import {
CopyOptions
,
UniVitePlugin
,
MiniProgramCompilerOptions
,
transformPageHead
,
}
from
'
@dcloudio/uni-cli-shared
'
import
{
TemplateCompiler
}
from
'
@vue/compiler-sfc
'
import
type
{
CompilerOptions
}
from
'
@dcloudio/uni-mp-compiler
'
...
...
@@ -26,6 +27,10 @@ export function uniOptions({
isNativeTag
,
isCustomElement
,
...
compilerOptions
,
nodeTransforms
:
[
transformPageHead
,
...(
compilerOptions
?.
nodeTransforms
||
[]),
],
}
as
any
,
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录