Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
uni-app
提交
9efe0eae
U
uni-app
项目概览
DCloud
/
uni-app
3 个月 前同步成功
通知
725
Star
38705
Fork
3642
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
7
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
7
Issue
7
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
9efe0eae
编写于
11月 21, 2019
作者:
fxy060608
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(v3): slots
上级
a4159e89
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
18 addition
and
9 deletion
+18
-9
packages/uni-cli-shared/lib/cache.js
packages/uni-cli-shared/lib/cache.js
+4
-4
packages/uni-template-compiler/__tests__/compiler-app-plus-extra.service.spec.js
...ompiler/__tests__/compiler-app-plus-extra.service.spec.js
+4
-0
packages/uni-template-compiler/__tests__/demo.js
packages/uni-template-compiler/__tests__/demo.js
+3
-3
packages/uni-template-compiler/lib/app/optimizer.js
packages/uni-template-compiler/lib/app/optimizer.js
+7
-2
未找到文件。
packages/uni-cli-shared/lib/cache.js
浏览文件 @
9efe0eae
...
...
@@ -231,8 +231,6 @@ function getSpecialMethods (name) {
return
componentSpecialMethods
[
name
]
||
[]
}
const
pagesJsonPath
=
path
.
resolve
(
process
.
env
.
UNI_INPUT_DIR
,
'
pages.json
'
)
const
cacheTypes
=
[
'
babel-loader
'
,
'
css-loader
'
,
'
uni-template-compiler
'
,
'
vue-loader
'
]
function
clearCache
()
{
...
...
@@ -262,7 +260,8 @@ module.exports = {
// 先简单处理,该方案不好,
// 后续为 pages-loader 增加 cache-loader,
// 然后其他修改 json 的地方也要定制 cache-loader
store
()
{
store
()
{
const
pagesJsonPath
=
path
.
resolve
(
process
.
env
.
UNI_INPUT_DIR
,
'
pages.json
'
)
const
filepath
=
path
.
resolve
(
process
.
env
.
UNI_CLI_CONTEXT
,
'
node_modules/.cache/uni-pages-loader/
'
+
process
.
env
.
UNI_PLATFORM
,
...
...
@@ -294,7 +293,8 @@ module.exports = {
clearCache
()
}
catch
(
e
)
{}
return
}
}
const
pagesJsonPath
=
path
.
resolve
(
process
.
env
.
UNI_INPUT_DIR
,
'
pages.json
'
)
const
mtimeMs
=
fs
.
statSync
(
pagesJsonPath
).
mtimeMs
const
jsonCache
=
require
(
filepath
)
if
(
jsonCache
.
mtimeMs
!==
mtimeMs
)
{
...
...
packages/uni-template-compiler/__tests__/compiler-app-plus-extra.service.spec.js
浏览文件 @
9efe0eae
...
...
@@ -71,6 +71,10 @@ describe('codegen', () => {
'
<current-user v-slot="{ user }">{{ user.firstName }}</current-user>
'
,
`with(this){return _c('current-user',{attrs:{"_i":0},scopedSlots:_u([{key:"default",fn:function({ user }){return [_v((_$s(0,'t0',_s(user.firstName))))]}}])})}`
)
assertCodegen
(
'
<current-user>ABCD</current-user>
'
,
`with(this){return _c('current-user',{attrs:{"_i":0}},[_v("")])}`
)
})
it
(
'
generate keep-alive
'
,
()
=>
{
...
...
packages/uni-template-compiler/__tests__/demo.js
浏览文件 @
9efe0eae
const
compiler
=
require
(
'
../lib
'
)
const
res
=
compiler
.
compile
(
`
<
p :change:prop="swipe.sizeReady" :prop="pos" @touchstart="swipe.touchstart" @touchmove="swipe.touchmove" @touchend="swipe.touchend" @change="change"></p
>
<
current-user>ABCD</current-user
>
`
,
{
resourcePath
:
'
/User/fxy/Documents/test.wxml
'
,
isReservedTag
:
function
(
tag
)
{
...
...
@@ -14,8 +14,8 @@ const res = compiler.compile(
platform
:
'
app-plus
'
},
filterModules
:
[
'
swipe
'
],
// service: true,
view
:
true
service
:
true
//
view: true
})
console
.
log
(
require
(
'
util
'
).
inspect
(
res
,
{
...
...
packages/uni-template-compiler/lib/app/optimizer.js
浏览文件 @
9efe0eae
...
...
@@ -43,6 +43,7 @@ function isStatic (node) {
function
markStatic
(
node
)
{
if
(
isStatic
(
node
))
{
// 静态节点且仅包含 ID 属性
if
(
node
.
attrs
&&
node
.
attrs
.
length
===
1
&&
!
node
.
key
&&
!
node
.
ref
&&
...
...
@@ -56,13 +57,17 @@ function markStatic (node) {
delete
node
.
staticClass
delete
node
.
staticStyle
if
(
node
.
attrs
&&
!
isComponent
(
node
.
tag
)
&&
node
.
tag
!==
'
keep-alive
'
)
{
// 移除静态属性
const
isCustomComponent
=
isComponent
(
node
.
tag
)
if
(
node
.
attrs
&&
!
isCustomComponent
&&
node
.
tag
!==
'
keep-alive
'
)
{
// 移除静态属性
node
.
attrs
=
node
.
attrs
.
filter
(
attr
=>
attr
.
name
===
ID
||
isVar
(
attr
.
value
))
}
node
.
children
=
node
.
children
.
filter
(
child
=>
{
// 移除静态文本
if
(
child
.
type
===
3
)
{
// ASTText
return
false
if
(
!
isCustomComponent
)
{
return
false
}
child
.
text
=
''
// slot <custom>ABCD</custom>
}
return
true
})
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录