Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
uni-app
提交
340615c3
U
uni-app
项目概览
DCloud
/
uni-app
14 天 前同步成功
通知
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看板
提交
340615c3
编写于
11月 28, 2022
作者:
fxy060608
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(cli): sourcemap
上级
f39c846c
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
43 addition
and
17 deletion
+43
-17
packages/uni-cli-shared/src/hbx/alias.ts
packages/uni-cli-shared/src/hbx/alias.ts
+20
-0
packages/uni-cli-shared/src/uni_modules.ts
packages/uni-cli-shared/src/uni_modules.ts
+16
-13
packages/uni-cli-shared/src/vite/plugins/inject.ts
packages/uni-cli-shared/src/vite/plugins/inject.ts
+1
-1
packages/vite-plugin-uni/src/index.ts
packages/vite-plugin-uni/src/index.ts
+6
-3
未找到文件。
packages/uni-cli-shared/src/hbx/alias.ts
浏览文件 @
340615c3
import
path
from
'
path
'
import
moduleAlias
from
'
module-alias
'
import
resovle
,
{
SyncOpts
}
from
'
resolve
'
import
{
isInHBuilderX
}
from
'
./env
'
import
type
{
Formatter
}
from
'
../logs/format
'
...
...
@@ -31,6 +32,7 @@ export function initModuleAlias() {
})
}
if
(
isInHBuilderX
())
{
// 又是为了复用 HBuilderX 的插件逻辑,硬编码映射
Object
.
keys
(
hbxPlugins
).
forEach
((
name
)
=>
{
moduleAlias
.
addAlias
(
name
,
...
...
@@ -40,6 +42,17 @@ export function initModuleAlias() {
)
)
})
// https://github.com/vitejs/vite/blob/892916d040a035edde1add93c192e0b0c5c9dd86/packages/vite/src/node/plugins/css.ts#L1481
const
oldSync
=
resovle
.
sync
resovle
.
sync
=
(
id
:
string
,
opts
?:
SyncOpts
)
=>
{
if
((
hbxPlugins
as
any
)[
id
])
{
return
path
.
resolve
(
process
.
env
.
UNI_HBUILDERX_PLUGINS
,
hbxPlugins
[
id
as
keyof
typeof
hbxPlugins
]
)
}
return
oldSync
(
id
,
opts
)
}
}
}
...
...
@@ -56,6 +69,8 @@ export function installHBuilderXPlugin(plugin: string) {
)
}
const
installPreprocessorTips
:
Record
<
string
,
boolean
>
=
{}
export
const
moduleAliasFormatter
:
Formatter
=
{
test
(
msg
)
{
return
msg
.
includes
(
'
Preprocessor dependency
'
)
...
...
@@ -74,6 +89,11 @@ export const moduleAliasFormatter: Formatter = {
preprocessor
=
'
compile-stylus
'
}
if
(
lang
)
{
// 仅提醒一次
if
(
installPreprocessorTips
[
lang
])
{
return
''
}
installPreprocessorTips
[
lang
]
=
true
installHBuilderXPlugin
(
preprocessor
)
return
formatInstallHBuilderXPluginTips
(
lang
,
preprocessor
)
}
...
...
packages/uni-cli-shared/src/uni_modules.ts
浏览文件 @
340615c3
...
...
@@ -27,20 +27,23 @@ export function parseUniExtApis(vite = true) {
if
(
!
fs
.
existsSync
(
pkgPath
))
{
return
}
const
exports
=
JSON
.
parse
(
fs
.
readFileSync
(
pkgPath
,
'
utf8
'
))?.
uni_modules
?.[
'
uni-ext-api
'
]
as
Exports
|
undefined
if
(
exports
)
{
Object
.
assign
(
injects
,
parseInjects
(
vite
,
process
.
env
.
UNI_PLATFORM
===
'
h5
'
?
'
web
'
:
process
.
env
.
UNI_PLATFORM
,
`@/uni_modules/
${
uniModuleDir
}
`
,
exports
try
{
const
exports
=
JSON
.
parse
(
fs
.
readFileSync
(
pkgPath
,
'
utf8
'
))
?.
uni_modules
?.[
'
uni-ext-api
'
]
as
Exports
|
undefined
if
(
exports
)
{
Object
.
assign
(
injects
,
parseInjects
(
vite
,
process
.
env
.
UNI_PLATFORM
===
'
h5
'
?
'
web
'
:
process
.
env
.
UNI_PLATFORM
,
`@/uni_modules/
${
uniModuleDir
}
`
,
exports
)
)
)
}
}
}
catch
(
e
)
{}
})
return
injects
}
...
...
packages/uni-cli-shared/src/vite/plugins/inject.ts
浏览文件 @
340615c3
...
...
@@ -223,7 +223,7 @@ export function uniViteInjectPlugin(
// 比如 App.vue 中,console.log('uniCloud') 触发了 inject 检测,检测完,发现不需要
// 此时返回 ast,会导致 import { setupApp } from '@dcloudio/uni-h5' 不会被编译
// ast
map
:
sourceMap
?
magicString
.
generateMap
({
hires
:
true
})
:
null
,
map
:
null
,
}
}
const
importBlock
=
Array
.
from
(
newImports
.
values
()).
join
(
'
\n\n
'
)
...
...
packages/vite-plugin-uni/src/index.ts
浏览文件 @
340615c3
...
...
@@ -92,9 +92,12 @@ export default function uniPlugin(
initPreContext
(
options
.
platform
,
process
.
env
.
UNI_CUSTOM_CONTEXT
)
const
plugins
:
Plugin
[]
=
[
uniViteInjectPlugin
(
'
uni:ext-api-inject
'
,
parseUniExtApis
()),
]
const
plugins
:
Plugin
[]
=
[]
const
injects
=
parseUniExtApis
()
if
(
Object
.
keys
(
injects
).
length
)
{
plugins
.
push
(
uniViteInjectPlugin
(
'
uni:ext-api-inject
'
,
injects
))
}
// 仅限 h5
if
(
options
.
viteLegacyOptions
&&
options
.
platform
===
'
h5
'
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录