Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
uni-app
提交
459c0452
U
uni-app
项目概览
DCloud
/
uni-app
3 个月 前同步成功
通知
725
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,发现更多精彩内容 >>
提交
459c0452
编写于
4月 07, 2022
作者:
fxy060608
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(mp): support dynamic import assets (#3376)
上级
bbc2e29f
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
44 addition
and
1 deletion
+44
-1
packages/uni-cli-shared/src/mp/assets.ts
packages/uni-cli-shared/src/mp/assets.ts
+26
-0
packages/uni-cli-shared/src/mp/index.ts
packages/uni-cli-shared/src/mp/index.ts
+1
-0
packages/uni-mp-vite/src/plugin/build.ts
packages/uni-mp-vite/src/plugin/build.ts
+17
-1
未找到文件。
packages/uni-cli-shared/src/mp/assets.ts
0 → 100644
浏览文件 @
459c0452
import
path
from
'
path
'
const
EXTNAMES
=
[
'
.png
'
,
'
.jpg
'
,
'
.jpeg
'
,
'
.gif
'
,
'
.svg
'
,
'
.json
'
,
'
.cer
'
,
'
.mp3
'
,
'
.aac
'
,
'
.m4a
'
,
'
.mp4
'
,
'
.wav
'
,
'
.ogg
'
,
'
.silk
'
,
'
.wasm
'
,
'
.br
'
,
'
.cert
'
,
]
export
function
isMiniProgramAssetFile
(
filename
:
string
)
{
if
(
!
path
.
isAbsolute
(
filename
))
{
return
false
}
return
EXTNAMES
.
includes
(
path
.
extname
(
filename
))
}
packages/uni-cli-shared/src/mp/index.ts
浏览文件 @
459c0452
...
...
@@ -3,6 +3,7 @@ export * from './wxs'
export
*
from
'
./nvue
'
export
*
from
'
./event
'
export
*
from
'
./style
'
export
*
from
'
./assets
'
export
*
from
'
./template
'
export
*
from
'
./constants
'
...
...
packages/uni-mp-vite/src/plugin/build.ts
浏览文件 @
459c0452
...
...
@@ -14,6 +14,7 @@ import {
isCSSRequest
,
parseManifestJsonOnce
,
M
,
isMiniProgramAssetFile
,
dynamicImportPolyfill
,
}
from
'
@dcloudio/uni-cli-shared
'
import
{
GetManualChunk
,
GetModuleInfo
,
PreRenderedChunk
}
from
'
rollup
'
...
...
@@ -41,6 +42,7 @@ export function createBuildOptions(
inputDir
:
string
,
platform
:
UniApp
.
PLATFORM
):
BuildOptions
{
const
{
renderDynamicImport
}
=
dynamicImportPolyfill
()
return
{
// sourcemap: 'inline', // TODO
// target: ['chrome53'], // 由小程序自己启用 es6 编译
...
...
@@ -64,7 +66,21 @@ export function createBuildOptions(
manualChunks
:
createMoveToVendorChunkFn
(),
chunkFileNames
:
createChunkFileNames
(
inputDir
),
assetFileNames
:
'
[name][extname]
'
,
plugins
:
[
dynamicImportPolyfill
()],
plugins
:
[
{
name
:
'
dynamic-import-polyfill
'
,
renderDynamicImport
(
options
)
{
const
{
targetModuleId
}
=
options
if
(
targetModuleId
&&
isMiniProgramAssetFile
(
targetModuleId
))
{
return
{
left
:
'
Promise.resolve(require(
'
,
right
:
'
))
'
,
}
}
return
renderDynamicImport
!
.
call
(
this
,
options
)
},
},
],
},
},
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录