Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小浣熊撸代码
uni-app
提交
d52ad45d
U
uni-app
项目概览
小浣熊撸代码
/
uni-app
与 Fork 源项目一致
Fork自
DCloud / uni-app
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
d52ad45d
编写于
8月 14, 2021
作者:
fxy060608
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(h5): improve inject filter #2813
上级
9fb36030
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
11 addition
and
6 deletion
+11
-6
packages/uni-cli-shared/src/constants.ts
packages/uni-cli-shared/src/constants.ts
+2
-1
packages/uni-cli-shared/src/vite/plugins/inject.ts
packages/uni-cli-shared/src/vite/plugins/inject.ts
+9
-5
未找到文件。
packages/uni-cli-shared/src/constants.ts
浏览文件 @
d52ad45d
export
const
PUBLIC_DIR
=
'
static
'
export
const
EXTNAME_JS
=
[
'
.js
'
,
'
.ts
'
]
export
const
EXTNAME_JS
=
[
'
.js
'
,
'
.ts
'
,
'
.jsx
'
,
'
.tsx
'
]
export
const
EXTNAME_VUE
=
[
'
.vue
'
,
'
.nvue
'
]
export
const
EXTNAME_VUE_RE
=
/
\.(
vue|nvue
)
$/
export
const
EXTNAME_JS_RE
=
/
\.[
jt
]
sx
?
$/
// APP 平台解析页面后缀的优先级
export
const
PAGE_EXTNAME_APP
=
[
'
.nvue
'
,
'
.vue
'
]
...
...
packages/uni-cli-shared/src/vite/plugins/inject.ts
浏览文件 @
d52ad45d
...
...
@@ -16,7 +16,7 @@ import { walk } from 'estree-walker'
import
{
extend
}
from
'
@vue/shared
'
import
{
MagicString
}
from
'
@vue/compiler-sfc
'
import
{
EXTNAME_JS
,
EXTNAME_VUE
}
from
'
../../constants
'
import
{
EXTNAME_JS
_RE
,
EXTNAME_VUE
}
from
'
../../constants
'
import
{
isProperty
,
...
...
@@ -73,16 +73,20 @@ export function uniViteInjectPlugin(options: InjectOptions): Plugin {
`(?:
${
Array
.
from
(
modulesMap
.
keys
()).
map
(
escape
).
join
(
'
|
'
)}
)`
,
'
g
'
)
const
EXTNAMES
=
EXTNAME_JS
.
concat
(
EXTNAME_VUE
)
const
sourceMap
=
options
.
sourceMap
!==
false
const
callback
=
options
.
callback
return
{
name
:
'
vite:uni-inject
'
,
transform
(
code
,
id
)
{
if
(
!
filter
(
id
))
return
null
const
{
filename
,
query
}
=
parseVueRequest
(
id
)
if
(
query
.
vue
||
!
EXTNAMES
.
includes
(
path
.
extname
(
filename
)))
{
return
null
const
isJs
=
EXTNAME_JS_RE
.
test
(
id
)
if
(
!
isJs
)
{
const
{
filename
,
query
}
=
parseVueRequest
(
id
)
const
isVueJs
=
EXTNAME_VUE
.
includes
(
path
.
extname
(
filename
))
&&
!
query
.
vue
if
(
!
isVueJs
)
{
return
null
}
}
debugInjectTry
(
id
)
if
(
code
.
search
(
firstpass
)
===
-
1
)
return
null
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录