Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Velpro187
uni-app
提交
d3f0a3f0
U
uni-app
项目概览
Velpro187
/
uni-app
与 Fork 源项目一致
Fork自
DCloud / uni-app
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
d3f0a3f0
编写于
12月 29, 2021
作者:
fxy060608
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: subpackages assets (#3123)
上级
a760498a
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
46 addition
and
5 deletion
+46
-5
packages/uni-cli-shared/src/json/pages.ts
packages/uni-cli-shared/src/json/pages.ts
+27
-3
packages/vite-plugin-uni/src/plugins/copy.ts
packages/vite-plugin-uni/src/plugins/copy.ts
+19
-2
未找到文件。
packages/uni-cli-shared/src/json/pages.ts
浏览文件 @
d3f0a3f0
...
...
@@ -24,7 +24,13 @@ export function isUniPageSfcFile(
)
{
return
isVueSfcFile
(
file
)
&&
isUniPageFile
(
file
,
inputDir
)
}
/**
* 小程序平台慎用,因为该解析不支持 subpackages
* @param inputDir
* @param platform
* @param normalize
* @returns
*/
export
const
parsePagesJson
=
(
inputDir
:
string
,
platform
:
UniApp
.
PLATFORM
,
...
...
@@ -36,7 +42,9 @@ export const parsePagesJson = (
}
return
parseJson
(
jsonStr
,
true
)
as
UniApp
.
PagesJson
}
/**
* 该方法解析出来的是不支持 subpackages,会被合并入 pages
*/
export
const
parsePagesJsonOnce
=
once
(
parsePagesJson
)
/**
* 目前 App 和 H5 使用了该方法
...
...
@@ -147,7 +155,7 @@ function normalizeSubpackages(
function
normalizeSubpackageSubNVues
(
root
:
string
,
style
:
UniApp
.
PagesJsonPageStyle
style
:
UniApp
.
PagesJsonPageStyle
=
{
navigationBar
:
{}
}
)
{
const
platformStyle
=
style
[
'
app
'
]
||
style
[
'
app-plus
'
]
if
(
!
platformStyle
)
{
...
...
@@ -438,3 +446,19 @@ function normalizePullToRefresh(
):
UniApp
.
PageRefreshOptions
|
undefined
{
return
pageStyle
.
pullToRefresh
}
function
parseSubpackagesRoot
(
inputDir
:
string
,
platform
:
UniApp
.
PLATFORM
)
{
const
pagesJson
=
parsePagesJson
(
inputDir
,
platform
,
false
)
const
subpackages
=
pagesJson
.
subPackages
||
pagesJson
.
subpackages
const
roots
:
string
[]
=
[]
if
(
isArray
(
subpackages
))
{
subpackages
.
forEach
(({
root
})
=>
{
if
(
root
)
{
roots
.
push
(
root
)
}
})
}
return
roots
}
export
const
parseSubpackagesRootOnce
=
once
(
parseSubpackagesRoot
)
packages/vite-plugin-uni/src/plugins/copy.ts
浏览文件 @
d3f0a3f0
import
{
Plugin
}
from
'
vite
'
import
path
from
'
path
'
import
debug
from
'
debug
'
import
type
{
Plugin
}
from
'
vite
'
import
{
PUBLIC_DIR
,
uniViteCopyPlugin
,
UniViteCopyPluginTarget
,
parseSubpackagesRootOnce
,
normalizePath
,
}
from
'
@dcloudio/uni-cli-shared
'
import
{
VitePluginUniResolvedOptions
}
from
'
..
'
const
debugCopy
=
debug
(
'
vite:uni:copy
'
)
export
function
uniCopyPlugin
({
outputDir
,
copyOptions
,
}:
Pick
<
VitePluginUniResolvedOptions
,
'
outputDir
'
|
'
copyOptions
'
>
):
Plugin
{
const
assets
=
[
PUBLIC_DIR
+
'
/**/*
'
,
'
uni_modules/*/
'
+
PUBLIC_DIR
+
'
/**/*
'
]
const
staticDir
=
PUBLIC_DIR
+
'
/**/*
'
const
uniModulesStaticDir
=
'
uni_modules/*/
'
+
PUBLIC_DIR
+
'
/**/*
'
const
assets
=
[
staticDir
,
uniModulesStaticDir
]
const
subpackages
=
parseSubpackagesRootOnce
(
process
.
env
.
UNI_INPUT_DIR
,
process
.
env
.
UNI_PLATFORM
)
subpackages
.
forEach
((
root
)
=>
{
assets
.
push
(
normalizePath
(
path
.
join
(
root
,
staticDir
)))
assets
.
push
(
normalizePath
(
path
.
join
(
root
,
uniModulesStaticDir
)))
})
copyOptions
!
.
assets
.
forEach
((
asset
)
=>
{
assets
.
push
(
asset
)
})
...
...
@@ -22,6 +38,7 @@ export function uniCopyPlugin({
},
]
targets
.
push
(...
copyOptions
!
.
targets
)
debugCopy
(
targets
)
return
uniViteCopyPlugin
({
targets
,
verbose
:
process
.
env
.
DEBUG
?
true
:
false
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录