Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
uni-app
提交
23898a1f
U
uni-app
项目概览
DCloud
/
uni-app
2 个月 前同步成功
通知
717
Star
38705
Fork
3642
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
7
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
7
Issue
7
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
23898a1f
编写于
4月 08, 2020
作者:
fxy060608
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(h5): compatible with relative public path
上级
ea172958
变更
5
显示空白变更内容
内联
并排
Showing
5 changed file
with
22 addition
and
36 deletion
+22
-36
packages/uni-cli-shared/lib/vue-loader.js
packages/uni-cli-shared/lib/vue-loader.js
+1
-27
packages/uni-template-compiler/lib/asset-url.js
packages/uni-template-compiler/lib/asset-url.js
+13
-4
packages/uni-template-compiler/lib/index.js
packages/uni-template-compiler/lib/index.js
+2
-4
packages/vue-cli-plugin-uni/lib/h5/compiler-options.js
packages/vue-cli-plugin-uni/lib/h5/compiler-options.js
+1
-0
packages/vue-cli-plugin-uni/lib/h5/index.js
packages/vue-cli-plugin-uni/lib/h5/index.js
+5
-1
未找到文件。
packages/uni-cli-shared/lib/vue-loader.js
浏览文件 @
23898a1f
const
compiler
=
require
(
'
@dcloudio/uni-template-compiler
'
)
// 非 h5 平台禁用,由uni-template-compiler自行实现
const
transformAssetUrls
=
{
audio
:
false
,
video
:
false
,
source
:
false
,
img
:
false
,
image
:
false
,
use
:
false
}
if
(
process
.
env
.
UNI_PLATFORM
===
'
h5
'
)
{
Object
.
assign
(
transformAssetUrls
,
{
'
audio
'
:
'
src
'
,
'
video
'
:
[
'
src
'
,
'
poster
'
],
'
source
'
:
'
src
'
,
'
img
'
:
'
src
'
,
'
use
'
:
[
'
xlink:href
'
,
'
href
'
],
'
image
'
:
'
src
'
,
'
cover-image
'
:
'
src
'
,
'
v-uni-audio
'
:
'
src
'
,
'
v-uni-video
'
:
[
'
src
'
,
'
poster
'
],
'
v-uni-image
'
:
'
src
'
,
'
v-uni-cover-image
'
:
'
src
'
})
}
const
defaultOptions
=
{
compiler
,
hotReload
:
false
,
cacheDirectory
:
false
,
cacheIdentifier
:
false
,
transformAssetUrls
transformAssetUrls
:
false
// 禁用,由 uni-template-compiler 自行实现 transformAssetUrls
}
const
defaultCompilerOptions
=
{
...
...
packages/uni-template-compiler/lib/asset-url.js
浏览文件 @
23898a1f
...
...
@@ -61,11 +61,20 @@ function rewrite (attr, name, options) {
const
value
=
attr
.
value
// only transform static URLs
if
(
value
.
charAt
(
0
)
===
'
"
'
&&
value
.
charAt
(
value
.
length
-
1
)
===
'
"
'
)
{
if
(
!
options
.
h5
)
{
// 非 H5 平台
attr
.
value
=
attr
.
value
.
replace
(
'
"@/
'
,
'
"/
'
)
.
replace
(
'
"~@/
'
,
'
"/
'
)
if
(
options
.
service
||
options
.
view
)
{
// v3
}
if
(
options
.
service
||
options
.
view
||
options
.
h5
)
{
// v3,h5
attr
.
value
=
urlToRequire
(
attr
.
value
.
slice
(
1
,
-
1
))
// h5 且 publicPath 为 ./ (仅生产模式可能为./)
if
(
options
.
h5
&&
options
.
publicPath
===
'
./
'
)
{
attr
.
value
=
`(
${
attr
.
value
}
).substr(1)`
}
}
return
true
}
...
...
packages/uni-template-compiler/lib/index.js
浏览文件 @
23898a1f
...
...
@@ -46,10 +46,8 @@ module.exports = {
(
options
.
modules
||
(
options
.
modules
=
[])).
push
(
autoComponentsModule
)
}
// 非h5平台,transformAssetUrls
if
(
process
.
env
.
UNI_PLATFORM
!==
'
h5
'
)
{
// transformAssetUrls
(
options
.
modules
||
(
options
.
modules
=
[])).
push
(
require
(
'
./asset-url
'
))
}
options
.
isUnaryTag
=
isUnaryTag
// 将 autoComponents 挂在 isUnaryTag 上边
...
...
packages/vue-cli-plugin-uni/lib/h5/compiler-options.js
浏览文件 @
23898a1f
...
...
@@ -62,6 +62,7 @@ function fixBooleanAttribute (el) {
}
module
.
exports
=
{
h5
:
true
,
modules
:
[
require
(
'
../format-text
'
),
{
preTransformNode
(
el
,
options
)
{
fixBooleanAttribute
(
el
)
...
...
packages/vue-cli-plugin-uni/lib/h5/index.js
浏览文件 @
23898a1f
...
...
@@ -167,10 +167,14 @@ module.exports = {
webpackConfig
.
plugins
.
delete
(
'
preload-index
'
)
}
const
compilerOptions
=
require
(
'
./compiler-opitons
'
)
if
(
publicPath
===
'
./
'
)
{
compilerOptions
.
publicPath
=
publicPath
}
modifyVueLoader
(
webpackConfig
,
{
isH5
:
true
,
hotReload
:
true
},
require
(
'
./compiler-options
'
)
,
api
)
},
compilerOptions
,
api
)
if
(
process
.
env
.
NODE_ENV
===
'
production
'
)
{
require
(
'
./cssnano-options
'
)(
webpackConfig
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录