Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
uni-app
提交
2c3779c2
U
uni-app
项目概览
DCloud
/
uni-app
6 个月 前同步成功
通知
751
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看板
提交
2c3779c2
编写于
3月 30, 2024
作者:
fxy060608
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(x-ios): 发行时支持摇树
上级
8e80b0f9
变更
5
展开全部
隐藏空白更改
内联
并排
Showing
5 changed file
with
71 addition
and
21 deletion
+71
-21
packages/uni-app-uts/src/plugins/android/plugin.ts
packages/uni-app-uts/src/plugins/android/plugin.ts
+6
-15
packages/uni-app-uts/src/plugins/ios/manifestJson.ts
packages/uni-app-uts/src/plugins/ios/manifestJson.ts
+41
-4
packages/uni-app-uts/src/plugins/utils.ts
packages/uni-app-uts/src/plugins/utils.ts
+22
-0
packages/uni-uts-v1/lib/javascript/dist/index.js
packages/uni-uts-v1/lib/javascript/dist/index.js
+1
-1
packages/uni-uts-v1/lib/kotlin/dist/index.js
packages/uni-uts-v1/lib/kotlin/dist/index.js
+1
-1
未找到文件。
packages/uni-app-uts/src/plugins/android/plugin.ts
浏览文件 @
2c3779c2
...
...
@@ -29,7 +29,11 @@ import {
createTryResolve
,
}
from
'
./utils
'
import
{
getOutputManifestJson
}
from
'
./manifestJson
'
import
{
configResolved
,
createUniOptions
}
from
'
../utils
'
import
{
configResolved
,
createUniOptions
,
updateManifestModules
,
}
from
'
../utils
'
import
{
genClassName
}
from
'
../..
'
const
uniCloudSpaceList
=
getUniCloudSpaceList
()
...
...
@@ -196,20 +200,7 @@ export function uniAppPlugin(): UniVitePlugin {
const
manifest
=
getOutputManifestJson
()
!
if
(
manifest
)
{
// 执行了摇树逻辑,就需要设置 modules 节点
const
app
=
manifest
.
app
if
(
!
app
.
distribute
)
{
app
.
distribute
=
{}
}
if
(
!
app
.
distribute
.
modules
)
{
app
.
distribute
.
modules
=
{}
}
if
(
modules
)
{
modules
.
forEach
((
name
)
=>
{
const
value
=
app
.
distribute
.
modules
[
name
]
app
.
distribute
.
modules
[
name
]
=
typeof
value
===
'
object
'
&&
value
!==
null
?
value
:
{}
})
}
updateManifestModules
(
manifest
,
modules
)
fs
.
outputFileSync
(
path
.
resolve
(
process
.
env
.
UNI_OUTPUT_DIR
,
'
manifest.json
'
),
JSON
.
stringify
(
manifest
,
null
,
2
)
...
...
packages/uni-app-uts/src/plugins/ios/manifestJson.ts
浏览文件 @
2c3779c2
import
path
from
'
path
'
import
fs
from
'
fs-extra
'
import
type
{
Plugin
}
from
'
vite
'
import
{
MANIFEST_JSON_UTS
,
parseJson
}
from
'
@dcloudio/uni-cli-shared
'
import
{
isManifest
,
normalizeManifestJson
}
from
'
../utils
'
import
{
MANIFEST_JSON_UTS
,
parseJson
,
resolveUTSCompiler
,
}
from
'
@dcloudio/uni-cli-shared
'
import
{
isManifest
,
normalizeManifestJson
,
updateManifestModules
,
}
from
'
../utils
'
let
outputManifestJson
:
Record
<
string
,
any
>
|
undefined
=
undefined
...
...
@@ -42,11 +50,40 @@ export function uniAppManifestPlugin(): Plugin {
return
`export default
${
JSON
.
stringify
(
manifestJson
)}
`
}
},
writeBundle
()
{
buildEnd
()
{
outputManifestJson
=
normalizeManifestJson
(
manifestJson
)
const
manifest
=
outputManifestJson
if
(
process
.
env
.
NODE_ENV
!==
'
development
'
)
{
// 生产模式,记录使用到的modules
const
ids
=
Array
.
from
(
this
.
getModuleIds
())
const
uniExtApis
=
new
Set
<
string
>
()
ids
.
forEach
((
id
)
=>
{
const
moduleInfo
=
this
.
getModuleInfo
(
id
)
if
(
moduleInfo
&&
moduleInfo
.
meta
&&
Array
.
isArray
(
moduleInfo
.
meta
.
uniExtApis
)
)
{
moduleInfo
.
meta
.
uniExtApis
.
forEach
((
api
)
=>
{
uniExtApis
.
add
(
api
)
})
}
})
if
(
uniExtApis
.
size
)
{
const
modules
=
resolveUTSCompiler
().
parseInjectModules
(
[...
uniExtApis
],
{},
[]
)
// 执行了摇树逻辑,就需要设置 modules 节点
updateManifestModules
(
manifest
,
modules
)
}
}
fs
.
outputFileSync
(
path
.
resolve
(
process
.
env
.
UNI_OUTPUT_DIR
,
'
manifest.json
'
),
JSON
.
stringify
(
outputManifestJson
,
null
,
2
)
JSON
.
stringify
(
manifest
,
null
,
2
)
)
},
}
...
...
packages/uni-app-uts/src/plugins/utils.ts
浏览文件 @
2c3779c2
...
...
@@ -158,3 +158,25 @@ export function normalizeManifestJson(userManifestJson: Record<string, any>) {
app
,
}
}
export
function
updateManifestModules
(
manifest
:
Record
<
string
,
any
>
,
modules
:
string
[]
)
{
// 执行了摇树逻辑,就需要设置 modules 节点
const
app
=
manifest
.
app
if
(
!
app
.
distribute
)
{
app
.
distribute
=
{}
}
if
(
!
app
.
distribute
.
modules
)
{
app
.
distribute
.
modules
=
{}
}
if
(
modules
)
{
modules
.
forEach
((
name
)
=>
{
const
value
=
app
.
distribute
.
modules
[
name
]
app
.
distribute
.
modules
[
name
]
=
typeof
value
===
'
object
'
&&
value
!==
null
?
value
:
{}
})
}
return
manifest
}
packages/uni-uts-v1/lib/javascript/dist/index.js
浏览文件 @
2c3779c2
因为 它太大了无法显示 source diff 。你可以改为
查看blob
。
packages/uni-uts-v1/lib/kotlin/dist/index.js
浏览文件 @
2c3779c2
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录