Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
uni-app
提交
4ab48920
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,发现更多精彩内容 >>
提交
4ab48920
编写于
6月 16, 2020
作者:
fxy060608
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
refactor(mp): generate asset source
上级
ef345f14
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
29 addition
and
26 deletion
+29
-26
packages/webpack-uni-mp-loader/lib/plugin/generate-app.js
packages/webpack-uni-mp-loader/lib/plugin/generate-app.js
+12
-13
packages/webpack-uni-mp-loader/lib/plugin/generate-component.js
...es/webpack-uni-mp-loader/lib/plugin/generate-component.js
+17
-13
未找到文件。
packages/webpack-uni-mp-loader/lib/plugin/generate-app.js
浏览文件 @
4ab48920
...
...
@@ -54,25 +54,24 @@ module.exports = function generateApp (compilation) {
}
const
runtimeJsPath
=
'
common/runtime.js
'
const
asset
=
compilation
.
assets
[
runtimeJsPath
]
if
(
// app 和 baidu 不需要
process
.
env
.
UNI_PLATFORM
!==
'
app-plus
'
&&
process
.
env
.
UNI_PLATFORM
!==
'
mp-baidu
'
&&
compilation
.
assets
[
runtimeJsPath
]
)
{
asset
&&
!
asset
.
source
.
__$wrappered
)
{
const
source
=
`
!function(){try{var a=Function("return this")();a&&!a.Math&&(Object.assign(a,{isFinite:isFinite,Array:Array,Date:Date,Error:Error,Function:Function,Math:Math,Object:Object,RegExp:RegExp,String:String,TypeError:TypeError,setTimeout:setTimeout,clearTimeout:clearTimeout,setInterval:setInterval,clearInterval:clearInterval}),"undefined"!=typeof Reflect&&(a.Reflect=Reflect))}catch(a){}}();
${
compilation
.
assets
[
runtimeJsPath
].
source
()}
`
compilation
.
assets
[
runtimeJsPath
]
=
{
size
()
{
return
Buffer
.
byteLength
(
source
,
'
utf8
'
)
},
source
()
{
return
source
}
}
${
asset
.
source
()}
`
const
newSource
=
function
()
{
return
source
}
newSource
.
__$wrappered
=
true
compilation
.
assets
[
runtimeJsPath
].
source
=
newSource
}
const
specialMethods
=
getSpecialMethods
()
...
...
packages/webpack-uni-mp-loader/lib/plugin/generate-component.js
浏览文件 @
4ab48920
...
...
@@ -12,6 +12,8 @@ const {
restoreNodeModules
}
=
require
(
'
../shared
'
)
const
EMPTY_COMPONENT_LEN
=
'
Component({})
'
.
length
const
uniPath
=
normalizePath
(
require
.
resolve
(
'
@dcloudio/uni-
'
+
process
.
env
.
UNI_PLATFORM
))
function
findModule
(
modules
,
resource
,
altResource
)
{
...
...
@@ -66,6 +68,11 @@ module.exports = function generateComponent (compilation) {
Object
.
keys
(
assets
).
forEach
(
name
=>
{
if
(
components
.
has
(
name
.
replace
(
'
.js
'
,
''
)))
{
curComponents
.
push
(
name
.
replace
(
'
.js
'
,
''
))
if
(
assets
[
name
].
source
.
__$wrappered
)
{
return
}
const
chunkName
=
name
.
replace
(
'
.js
'
,
'
-create-component
'
)
let
moduleId
=
''
...
...
@@ -80,7 +87,7 @@ module.exports = function generateComponent (compilation) {
}
const
origSource
=
assets
[
name
].
source
()
if
(
origSource
.
length
!==
'
Component({})
'
.
length
)
{
// 不是空组件
if
(
origSource
.
length
!==
EMPTY_COMPONENT_LEN
)
{
// 不是空组件
const
globalVar
=
process
.
env
.
UNI_PLATFORM
===
'
mp-alipay
'
?
'
my
'
:
'
global
'
// 主要是为了解决支付宝旧版本, Component 方法只在组件 js 里有,需要挂在 my.defineComponent
let
beforeCode
=
''
...
...
@@ -99,14 +106,11 @@ module.exports = function generateComponent (compilation) {
[['
${
chunkName
}
']]
]);
`
assets
[
name
]
=
{
size
()
{
return
Buffer
.
byteLength
(
source
,
'
utf8
'
)
},
source
()
{
return
source
}
const
newSource
=
function
()
{
return
source
}
newSource
.
__$wrappered
=
true
assets
[
name
].
source
=
newSource
}
}
})
...
...
@@ -118,11 +122,11 @@ module.exports = function generateComponent (compilation) {
removeUnusedComponent
(
name
)
// 组件被移除
}
}
}
for
(
const
name
of
curComponents
)
{
if
(
!
lastComponents
.
includes
(
name
))
{
addComponent
(
name
)
// 新增组件
}
}
for
(
const
name
of
curComponents
)
{
if
(
!
lastComponents
.
includes
(
name
))
{
addComponent
(
name
)
// 新增组件
}
}
lastComponents
=
curComponents
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录