Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
陈庄旺
uni-app
提交
b099fb20
U
uni-app
项目概览
陈庄旺
/
uni-app
与 Fork 源项目一致
Fork自
DCloud / uni-app
通知
1
Star
0
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,发现更多精彩内容 >>
提交
b099fb20
编写于
1月 20, 2022
作者:
fxy060608
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
wip(app): nvue
上级
a57940a3
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
66 addition
and
48 deletion
+66
-48
packages/uni-app-vite/src/nvue/plugin/index.ts
packages/uni-app-vite/src/nvue/plugin/index.ts
+22
-4
packages/uni-app-vite/src/plugin/configResolved.ts
packages/uni-app-vite/src/plugin/configResolved.ts
+11
-42
packages/uni-app-vite/src/vue/plugin/index.ts
packages/uni-app-vite/src/vue/plugin/index.ts
+33
-2
未找到文件。
packages/uni-app-vite/src/nvue/plugin/index.ts
浏览文件 @
b099fb20
...
...
@@ -2,6 +2,7 @@ import path from 'path'
import
{
createTransformTag
,
dynamicImportPolyfill
,
isUniPageSfcFile
,
normalizePath
,
parseVueRequest
,
removeExt
,
...
...
@@ -14,7 +15,7 @@ import { transformRenderWhole } from './transforms/transformRenderWhole'
import
{
transformAppendAsTree
}
from
'
./transforms/transformAppendAsTree
'
import
{
transformVideo
}
from
'
./transforms/transformVideo
'
import
{
transformText
}
from
'
./transforms/transformText
'
import
{
configResolved
}
from
'
../../plugin/configResolved
'
import
{
c
reateC
onfigResolved
}
from
'
../../plugin/configResolved
'
const
uTags
=
{
text
:
'
u-text
'
,
image
:
'
u-image
'
,
...
...
@@ -37,11 +38,14 @@ export function initNVueNodeTransforms() {
}
export
function
uniAppNVuePlugin
():
Plugin
{
const
inputDir
=
process
.
env
.
UNI_INPUT_DIR
const
mainPath
=
resolveMainPathOnce
(
inputDir
)
function
normalizeCssChunkFilename
(
id
:
string
)
{
return
removeExt
(
normalizePath
(
path
.
relative
(
inputDir
,
id
)))
+
'
.css
'
}
return
{
name
:
'
uni:app-nvue
'
,
config
()
{
const
inputDir
=
process
.
env
.
UNI_INPUT_DIR
const
mainPath
=
resolveMainPathOnce
(
inputDir
)
return
{
lib
:
{
// 必须使用 lib 模式,否则会生成 preload 等代码
...
...
@@ -71,7 +75,21 @@ export function uniAppNVuePlugin(): Plugin {
},
}
},
configResolved
,
configResolved
:
createConfigResolved
({
chunkCssFilename
(
id
:
string
)
{
if
(
id
===
mainPath
)
{
return
'
app.css
'
}
else
if
(
isUniPageSfcFile
(
id
,
inputDir
))
{
return
normalizeCssChunkFilename
(
id
)
}
},
chunkCssCode
(
filename
,
cssCode
)
{
if
(
filename
===
'
app.css
'
)
{
return
cssCode
}
return
cssCode
},
}),
}
}
...
...
packages/uni-app-vite/src/plugin/configResolved.ts
浏览文件 @
b099fb20
import
fs
from
'
fs
'
import
path
from
'
path
'
import
{
Plugin
}
from
'
vite
'
import
{
injectAssetPlugin
,
injectCssPlugin
,
injectCssPostPlugin
,
resolveMainPathOnce
,
normalizePath
,
removeExt
,
isUniPageSfcFile
,
}
from
'
@dcloudio/uni-cli-shared
'
let
appCss
=
''
function
normalizeCssChunkFilename
(
id
:
string
)
{
return
(
removeExt
(
normalizePath
(
path
.
relative
(
process
.
env
.
UNI_INPUT_DIR
,
id
)))
+
'
.css
'
)
}
export
const
configResolved
:
Plugin
[
'
configResolved
'
]
=
(
config
)
=>
{
const
inputDir
=
process
.
env
.
UNI_INPUT_DIR
const
mainPath
=
resolveMainPathOnce
(
inputDir
)
injectCssPlugin
(
config
)
injectCssPostPlugin
(
config
,
{
chunkCssFilename
(
id
:
string
)
{
if
(
id
===
mainPath
)
{
return
'
app.css
'
}
else
if
(
isUniPageSfcFile
(
id
,
inputDir
))
{
return
normalizeCssChunkFilename
(
id
)
}
},
chunkCssCode
(
filename
,
cssCode
)
{
if
(
filename
===
'
app.css
'
)
{
if
(
!
appCss
)
{
appCss
=
fs
.
readFileSync
(
require
.
resolve
(
'
@dcloudio/uni-app-plus/dist/style.css
'
),
'
utf8
'
)
}
return
appCss
+
'
\n
'
+
cssCode
}
return
cssCode
},
})
// 强制不inline
config
.
build
.
assetsInlineLimit
=
0
injectAssetPlugin
(
config
)
export
function
createConfigResolved
(
options
:
{
chunkCssFilename
:
(
id
:
string
)
=>
string
|
void
chunkCssCode
:
(
filename
:
string
,
cssCode
:
string
)
=>
string
}):
Plugin
[
'
configResolved
'
]
{
return
(
config
)
=>
{
injectCssPlugin
(
config
)
injectCssPostPlugin
(
config
,
options
)
// 强制不inline
config
.
build
.
assetsInlineLimit
=
0
injectAssetPlugin
(
config
)
}
}
packages/uni-app-vite/src/vue/plugin/index.ts
浏览文件 @
b099fb20
...
...
@@ -2,16 +2,27 @@ import path from 'path'
import
fs
from
'
fs-extra
'
import
{
APP_SERVICE_FILENAME
,
isUniPageSfcFile
,
normalizePath
,
parsePagesJsonOnce
,
removeExt
,
resolveMainPathOnce
,
UniVitePlugin
,
}
from
'
@dcloudio/uni-cli-shared
'
import
{
OutputBundle
}
from
'
rollup
'
import
{
APP_RENDERJS_JS
,
APP_WXS_JS
}
from
'
../plugins/renderjs
'
import
{
configResolved
}
from
'
../../plugin/configResolved
'
import
{
c
reateC
onfigResolved
}
from
'
../../plugin/configResolved
'
import
{
templateDir
}
from
'
../../utils
'
export
function
uniAppVuePlugin
():
UniVitePlugin
{
const
inputDir
=
process
.
env
.
UNI_INPUT_DIR
const
mainPath
=
resolveMainPathOnce
(
inputDir
)
let
appCss
=
''
function
normalizeCssChunkFilename
(
id
:
string
)
{
return
removeExt
(
normalizePath
(
path
.
relative
(
inputDir
,
id
)))
+
'
.css
'
}
return
{
name
:
'
uni:app-vue
'
,
config
()
{
...
...
@@ -30,7 +41,27 @@ export function uniAppVuePlugin(): UniVitePlugin {
},
}
},
configResolved
,
configResolved
:
createConfigResolved
({
chunkCssFilename
(
id
:
string
)
{
if
(
id
===
mainPath
)
{
return
'
app.css
'
}
else
if
(
isUniPageSfcFile
(
id
,
inputDir
))
{
return
normalizeCssChunkFilename
(
id
)
}
},
chunkCssCode
(
filename
,
cssCode
)
{
if
(
filename
===
'
app.css
'
)
{
if
(
!
appCss
)
{
appCss
=
fs
.
readFileSync
(
require
.
resolve
(
'
@dcloudio/uni-app-plus/dist/style.css
'
),
'
utf8
'
)
}
return
appCss
+
'
\n
'
+
cssCode
}
return
cssCode
},
}),
generateBundle
(
_
,
bundle
)
{
this
.
emitFile
({
fileName
:
'
__uniappview.html
'
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录