Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Metz
uni-app
提交
7acb0125
U
uni-app
项目概览
Metz
/
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,发现更多精彩内容 >>
提交
7acb0125
编写于
10月 11, 2022
作者:
fxy060608
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(mp-toutiao): pages.json support ext:// path (#3917)
上级
ac176eac
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
37 addition
and
9 deletion
+37
-9
packages/uni-cli-shared/lib/cache.js
packages/uni-cli-shared/lib/cache.js
+7
-2
packages/uni-cli-shared/lib/pages.js
packages/uni-cli-shared/lib/pages.js
+21
-7
packages/uni-cli-shared/lib/util.js
packages/uni-cli-shared/lib/util.js
+9
-0
未找到文件。
packages/uni-cli-shared/lib/cache.js
浏览文件 @
7acb0125
const
fs
=
require
(
'
fs
'
)
const
path
=
require
(
'
path
'
)
const
crypto
=
require
(
'
crypto
'
)
const
{
isNormalPage
}
=
require
(
'
./util
'
)
/**
* 1.page-loader 缓存基础的 app.json page.json project.config.json
* 2.main-loader 缓存 app.json 中的 usingComponents 节点
...
...
@@ -49,7 +52,9 @@ function getJsonFile (name) {
function
getChangedJsonFileMap
(
clear
=
true
)
{
const
changedJsonFileMap
=
new
Map
()
for
(
const
name
of
changedJsonFileSet
.
values
())
{
changedJsonFileMap
.
set
(
name
+
'
.json
'
,
jsonFileMap
.
get
(
name
))
if
(
isNormalPage
(
name
))
{
changedJsonFileMap
.
set
(
name
+
'
.json
'
,
jsonFileMap
.
get
(
name
))
}
}
clear
&&
changedJsonFileSet
.
clear
()
return
changedJsonFileMap
...
...
@@ -361,4 +366,4 @@ module.exports = {
getChangedJsonFileMap
,
getSpecialMethods
,
supportGlobalUsingComponents
}
}
packages/uni-cli-shared/lib/pages.js
浏览文件 @
7acb0125
...
...
@@ -6,7 +6,8 @@ const {
removeExt
,
normalizePath
,
camelize
,
capitalize
capitalize
,
isNormalPage
}
=
require
(
'
./util
'
)
const
{
...
...
@@ -113,7 +114,9 @@ function isNVuePage (page, root = '') {
function
isValidPage
(
page
,
root
=
''
)
{
if
(
typeof
page
===
'
string
'
||
!
page
.
path
)
{
// 不合法的配置
console
.
warn
(
uniI18n
.
__
(
'
cliShared.pagesJsonError
'
,
{
0
:
'
https://uniapp.dcloud.io/collocation/pages?id=pages
'
}))
console
.
warn
(
uniI18n
.
__
(
'
cliShared.pagesJsonError
'
,
{
0
:
'
https://uniapp.dcloud.io/collocation/pages?id=pages
'
}))
return
false
}
let
pagePath
=
page
.
path
...
...
@@ -213,7 +216,10 @@ function parseEntry (pagesJson) {
const
weixinConfig
=
manifestConfig
[
'
mp-weixin
'
]
||
{}
const
independentSwitch
=
!!
weixinConfig
.
independent
if
(
independentSwitch
)
{
Object
.
values
(
process
.
UNI_SUBPACKAGES
).
forEach
(({
root
,
independent
=
false
})
=>
{
Object
.
values
(
process
.
UNI_SUBPACKAGES
).
forEach
(({
root
,
independent
=
false
})
=>
{
if
(
root
&&
independent
)
{
const
pkgRootMainJsKey
=
`
${
root
}
/common/main`
// const pkgRootMainJsPath = `${process.env.UNI_INPUT_DIR}/${root}/main.js`;
...
...
@@ -239,7 +245,9 @@ function parseEntry (pagesJson) {
// pages
pagesJson
.
pages
.
forEach
(
page
=>
{
process
.
UNI_ENTRY
[
page
.
path
]
=
getMainJsPath
(
page
.
path
)
if
(
isNormalPage
(
page
.
path
))
{
process
.
UNI_ENTRY
[
page
.
path
]
=
getMainJsPath
(
page
.
path
)
}
})
// subPackages
if
(
Array
.
isArray
(
pagesJson
.
subPackages
)
&&
pagesJson
.
subPackages
.
length
)
{
...
...
@@ -404,7 +412,11 @@ function initAutoComponents () {
})
if
(
conflictFiles
.
length
>
0
)
{
conflictFiles
.
forEach
(
files
=>
{
console
.
warn
(
uniI18n
.
__
(
'
cliShared.easycomConflict
'
,
{
0
:
'
[
'
+
files
.
map
((
file
,
index
)
=>
{
return
file
}).
join
(
'
,
'
)
+
'
]
'
}))
console
.
warn
(
uniI18n
.
__
(
'
cliShared.easycomConflict
'
,
{
0
:
'
[
'
+
files
.
map
((
file
,
index
)
=>
{
return
file
}).
join
(
'
,
'
)
+
'
]
'
}))
console
.
log
(
'
\n
'
)
})
}
...
...
@@ -519,7 +531,9 @@ function parseUsingAutoImportComponents (usingAutoImportComponents) {
const
BUILT_IN_COMPONENTS
=
[
'
page-meta
'
,
'
navigation-bar
'
,
'
uni-match-media
'
]
const
BUILT_IN_EASYCOMS
=
[
'
unicloud-db
'
,
'
uniad
'
,
'
ad-rewarded-video
'
,
'
ad-fullscreen-video
'
,
'
ad-interstitial
'
,
'
ad-interactive
'
]
const
BUILT_IN_EASYCOMS
=
[
'
unicloud-db
'
,
'
uniad
'
,
'
ad-rewarded-video
'
,
'
ad-fullscreen-video
'
,
'
ad-interstitial
'
,
'
ad-interactive
'
]
function
isBuiltInComponent
(
name
)
{
// uni-template-compiler/lib/util.js 识别微信内置组件
return
BUILT_IN_COMPONENTS
.
includes
(
name
)
...
...
@@ -551,4 +565,4 @@ module.exports = {
getGlobalUsingComponentsCode
,
parseUsingAutoImportComponents
,
generateGlobalUsingComponentsCode
}
}
packages/uni-cli-shared/lib/util.js
浏览文件 @
7acb0125
...
...
@@ -150,8 +150,17 @@ function pathToGlob (pathString, glob, options = {}) {
}
return
path
.
posix
.
join
(
safeStr
,
glob
)
}
/**
* 字节跳动小程序可以配置 ext:// 开头的插件页面模板,如 ext://microapp-trade-plugin/order-confirm
* @param pagePath
* @returns
*/
function
isNormalPage
(
pagePath
)
{
return
!
pagePath
.
startsWith
(
'
ext://
'
)
}
module
.
exports
=
{
isNormalPage
,
isInHBuilderX
,
isInHBuilderXAlpha
,
getCLIContext
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录