Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
陈庄旺
uni-app
提交
88439291
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,发现更多精彩内容 >>
提交
88439291
编写于
10月 19, 2021
作者:
fxy060608
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
wip(mp): nvue css
上级
72ad6aef
变更
13
隐藏空白更改
内联
并排
Showing
13 changed file
with
153 addition
and
32 deletion
+153
-32
packages/uni-app-vite/src/plugin/configResolved.ts
packages/uni-app-vite/src/plugin/configResolved.ts
+14
-4
packages/uni-app-vite/src/plugins/manifestJson.ts
packages/uni-app-vite/src/plugins/manifestJson.ts
+5
-8
packages/uni-app-vite/src/plugins/pagesJson.ts
packages/uni-app-vite/src/plugins/pagesJson.ts
+6
-9
packages/uni-cli-nvue/src/webpack/config/module/rules/cssLoader/oneOf.ts
...i-nvue/src/webpack/config/module/rules/cssLoader/oneOf.ts
+1
-0
packages/uni-cli-shared/lib/nvue.css
packages/uni-cli-shared/lib/nvue.css
+31
-0
packages/uni-cli-shared/src/json/mp/pages.ts
packages/uni-cli-shared/src/json/mp/pages.ts
+8
-0
packages/uni-cli-shared/src/mp/index.ts
packages/uni-cli-shared/src/mp/index.ts
+1
-0
packages/uni-cli-shared/src/mp/nvue.ts
packages/uni-cli-shared/src/mp/nvue.ts
+14
-0
packages/uni-cli-shared/src/vite/plugins/vitejs/plugins/css.ts
...ges/uni-cli-shared/src/vite/plugins/vitejs/plugins/css.ts
+9
-3
packages/uni-cli-shared/src/vite/utils/plugin.ts
packages/uni-cli-shared/src/vite/utils/plugin.ts
+8
-2
packages/uni-mp-vite/src/plugin/configResolved.ts
packages/uni-mp-vite/src/plugin/configResolved.ts
+22
-2
packages/uni-mp-vite/src/plugin/index.ts
packages/uni-mp-vite/src/plugin/index.ts
+18
-1
packages/uni-mp-vite/src/plugins/pagesJson.ts
packages/uni-mp-vite/src/plugins/pagesJson.ts
+16
-3
未找到文件。
packages/uni-app-vite/src/plugin/configResolved.ts
浏览文件 @
88439291
...
@@ -8,15 +8,25 @@ import {
...
@@ -8,15 +8,25 @@ import {
injectCssPostPlugin
,
injectCssPostPlugin
,
}
from
'
@dcloudio/uni-cli-shared
'
}
from
'
@dcloudio/uni-cli-shared
'
let
appCss
=
''
export
const
configResolved
:
Plugin
[
'
configResolved
'
]
=
(
config
)
=>
{
export
const
configResolved
:
Plugin
[
'
configResolved
'
]
=
(
config
)
=>
{
removePlugins
(
'
vite:import-analysis
'
,
config
)
removePlugins
(
'
vite:import-analysis
'
,
config
)
injectCssPlugin
(
config
)
injectCssPlugin
(
config
)
injectCssPostPlugin
(
config
,
{
injectCssPostPlugin
(
config
,
{
extname
:
'
.css
'
,
extname
:
'
.css
'
,
appCss
:
fs
.
readFileSync
(
chunkCss
(
filename
,
cssCode
)
{
require
.
resolve
(
'
@dcloudio/uni-app-plus/dist/style.css
'
),
if
(
filename
===
'
app.css
'
)
{
'
utf8
'
if
(
!
appCss
)
{
),
appCss
=
fs
.
readFileSync
(
require
.
resolve
(
'
@dcloudio/uni-app-plus/dist/style.css
'
),
'
utf8
'
)
}
return
appCss
+
'
\n
'
+
cssCode
}
return
cssCode
},
})
})
injectAssetPlugin
(
config
)
injectAssetPlugin
(
config
)
}
}
packages/uni-app-vite/src/plugins/manifestJson.ts
浏览文件 @
88439291
...
@@ -10,7 +10,6 @@ import {
...
@@ -10,7 +10,6 @@ import {
}
from
'
@dcloudio/uni-cli-shared
'
}
from
'
@dcloudio/uni-cli-shared
'
export
function
uniManifestJsonPlugin
():
Plugin
{
export
function
uniManifestJsonPlugin
():
Plugin
{
let
manifestJson
:
Record
<
string
,
any
>
return
defineUniManifestJsonPlugin
((
opts
)
=>
{
return
defineUniManifestJsonPlugin
((
opts
)
=>
{
return
{
return
{
name
:
'
vite:uni-app-manifest-json
'
,
name
:
'
vite:uni-app-manifest-json
'
,
...
@@ -27,19 +26,13 @@ export function uniManifestJsonPlugin(): Plugin {
...
@@ -27,19 +26,13 @@ export function uniManifestJsonPlugin(): Plugin {
).
forEach
((
filepath
)
=>
{
).
forEach
((
filepath
)
=>
{
this
.
addWatchFile
(
filepath
)
this
.
addWatchFile
(
filepath
)
})
})
manifestJson
=
normalizeAppManifestJson
(
const
manifestJson
=
normalizeAppManifestJson
(
parseJson
(
code
),
parseJson
(
code
),
parsePagesJsonOnce
(
parsePagesJsonOnce
(
process
.
env
.
UNI_INPUT_DIR
,
process
.
env
.
UNI_INPUT_DIR
,
process
.
env
.
UNI_PLATFORM
process
.
env
.
UNI_PLATFORM
)
)
)
)
return
{
code
:
''
,
map
:
this
.
getCombinedSourcemap
(),
}
},
generateBundle
()
{
// 生成一个空的app-config.js,兼容基座已有规范
// 生成一个空的app-config.js,兼容基座已有规范
this
.
emitFile
({
this
.
emitFile
({
fileName
:
`app-config.js`
,
fileName
:
`app-config.js`
,
...
@@ -51,6 +44,10 @@ export function uniManifestJsonPlugin(): Plugin {
...
@@ -51,6 +44,10 @@ export function uniManifestJsonPlugin(): Plugin {
type
:
'
asset
'
,
type
:
'
asset
'
,
source
:
JSON
.
stringify
(
manifestJson
,
null
,
2
),
source
:
JSON
.
stringify
(
manifestJson
,
null
,
2
),
})
})
return
{
code
:
''
,
map
:
this
.
getCombinedSourcemap
(),
}
},
},
}
}
})
})
...
...
packages/uni-app-vite/src/plugins/pagesJson.ts
浏览文件 @
88439291
...
@@ -11,7 +11,6 @@ import {
...
@@ -11,7 +11,6 @@ import {
}
from
'
@dcloudio/uni-cli-shared
'
}
from
'
@dcloudio/uni-cli-shared
'
export
function
uniPagesJsonPlugin
():
Plugin
{
export
function
uniPagesJsonPlugin
():
Plugin
{
let
pagesJson
:
UniApp
.
PagesJson
return
defineUniPagesJsonPlugin
((
opts
)
=>
{
return
defineUniPagesJsonPlugin
((
opts
)
=>
{
return
{
return
{
name
:
'
vite:uni-app-pages-json
'
,
name
:
'
vite:uni-app-pages-json
'
,
...
@@ -26,20 +25,13 @@ export function uniPagesJsonPlugin(): Plugin {
...
@@ -26,20 +25,13 @@ export function uniPagesJsonPlugin(): Plugin {
).
forEach
((
filepath
)
=>
{
).
forEach
((
filepath
)
=>
{
this
.
addWatchFile
(
filepath
)
this
.
addWatchFile
(
filepath
)
})
})
pagesJson
=
normalizePagesJson
(
code
,
process
.
env
.
UNI_PLATFORM
)
const
pagesJson
=
normalizePagesJson
(
code
,
process
.
env
.
UNI_PLATFORM
)
// TODO subpackages
// TODO subpackages
pagesJson
.
pages
.
forEach
((
page
)
=>
{
pagesJson
.
pages
.
forEach
((
page
)
=>
{
this
.
addWatchFile
(
this
.
addWatchFile
(
path
.
resolve
(
process
.
env
.
UNI_INPUT_DIR
,
page
.
path
+
'
.vue
'
)
path
.
resolve
(
process
.
env
.
UNI_INPUT_DIR
,
page
.
path
+
'
.vue
'
)
)
)
})
})
return
{
code
:
`import './manifest.json.js'\n`
+
normalizeAppPagesJson
(
pagesJson
),
map
:
this
.
getCombinedSourcemap
(),
}
},
generateBundle
()
{
this
.
emitFile
({
this
.
emitFile
({
fileName
:
`app-config-service.js`
,
fileName
:
`app-config-service.js`
,
type
:
'
asset
'
,
type
:
'
asset
'
,
...
@@ -48,6 +40,11 @@ export function uniPagesJsonPlugin(): Plugin {
...
@@ -48,6 +40,11 @@ export function uniPagesJsonPlugin(): Plugin {
parseManifestJsonOnce
(
process
.
env
.
UNI_INPUT_DIR
)
parseManifestJsonOnce
(
process
.
env
.
UNI_INPUT_DIR
)
),
),
})
})
return
{
code
:
`import './manifest.json.js'\n`
+
normalizeAppPagesJson
(
pagesJson
),
map
:
this
.
getCombinedSourcemap
(),
}
},
},
}
}
})
})
...
...
packages/uni-cli-nvue/src/webpack/config/module/rules/cssLoader/oneOf.ts
浏览文件 @
88439291
...
@@ -13,6 +13,7 @@ const postcssLoader = {
...
@@ -13,6 +13,7 @@ const postcssLoader = {
options
:
{
options
:
{
sourceMap
:
false
,
sourceMap
:
false
,
postcssOptions
:
{
postcssOptions
:
{
config
:
false
,
parser
:
require
(
'
postcss-comment
'
),
parser
:
require
(
'
postcss-comment
'
),
plugins
:
[
plugins
:
[
require
(
'
postcss-import
'
)({
require
(
'
postcss-import
'
)({
...
...
packages/uni-cli-shared/lib/nvue.css
0 → 100644
浏览文件 @
88439291
view
,
label
,
swiper-item
,
scroll-view
{
display
:
flex
;
flex-direction
:
column
;
flex-shrink
:
0
;
flex-grow
:
0
;
flex-basis
:
auto
;
align-items
:
stretch
;
align-content
:
flex-start
;
}
view
,
image
,
input
,
scroll-view
,
swiper
,
swiper-item
,
text
,
textarea
,
video
{
position
:
relative
;
border
:
0px
solid
#000000
;
box-sizing
:
border-box
;
}
swiper-item
{
position
:
absolute
;
}
button
{
margin
:
0
;
}
packages/uni-cli-shared/src/json/mp/pages.ts
浏览文件 @
88439291
import
fs
from
'
fs
'
import
path
from
'
path
'
import
path
from
'
path
'
import
{
hasOwn
}
from
'
@vue/shared
'
import
{
hasOwn
}
from
'
@vue/shared
'
import
{
parseJson
}
from
'
../json
'
import
{
parseJson
}
from
'
../json
'
...
@@ -41,6 +42,7 @@ function parsePagesJson(
...
@@ -41,6 +42,7 @@ function parsePagesJson(
pages
:
[],
pages
:
[],
}
}
const
pageJsons
:
Record
<
string
,
PageWindowOptions
>
=
{}
const
pageJsons
:
Record
<
string
,
PageWindowOptions
>
=
{}
const
nvuePages
:
string
[]
=
[]
// preprocess
// preprocess
const
pagesJson
=
parseJson
(
jsonStr
,
true
)
as
UniApp
.
PagesJson
const
pagesJson
=
parseJson
(
jsonStr
,
true
)
as
UniApp
.
PagesJson
if
(
!
pagesJson
)
{
if
(
!
pagesJson
)
{
...
@@ -48,6 +50,11 @@ function parsePagesJson(
...
@@ -48,6 +50,11 @@ function parsePagesJson(
}
}
function
addPageJson
(
pagePath
:
string
,
style
:
UniApp
.
PagesJsonPageStyle
)
{
function
addPageJson
(
pagePath
:
string
,
style
:
UniApp
.
PagesJsonPageStyle
)
{
if
(
fs
.
existsSync
(
path
.
join
(
process
.
env
.
UNI_INPUT_DIR
,
pagePath
+
'
.nvue
'
))
)
{
nvuePages
.
push
(
pagePath
)
}
pageJsons
[
pagePath
]
=
parseWindowOptions
(
style
,
platform
,
windowOptionsMap
)
pageJsons
[
pagePath
]
=
parseWindowOptions
(
style
,
platform
,
windowOptionsMap
)
}
}
// pages
// pages
...
@@ -116,5 +123,6 @@ function parsePagesJson(
...
@@ -116,5 +123,6 @@ function parsePagesJson(
return
{
return
{
appJson
,
appJson
,
pageJsons
,
pageJsons
,
nvuePages
,
}
}
}
}
packages/uni-cli-shared/src/mp/index.ts
浏览文件 @
88439291
export
*
from
'
./nvue
'
export
*
from
'
./event
'
export
*
from
'
./event
'
export
{
transformVueComponentImports
}
from
'
./transformImports
'
export
{
transformVueComponentImports
}
from
'
./transformImports
'
packages/uni-cli-shared/src/mp/nvue.ts
0 → 100644
浏览文件 @
88439291
import
fs
from
'
fs
'
import
path
from
'
path
'
import
{
getNVueFlexDirection
}
from
'
../json/app/manifest/nvue
'
export
function
genNVueCssCode
(
manifestJson
:
Record
<
string
,
any
>
)
{
let
nvueCssCode
=
fs
.
readFileSync
(
path
.
resolve
(
__dirname
,
'
../../lib/nvue.css
'
),
'
utf8
'
)
const
flexDirection
=
getNVueFlexDirection
(
manifestJson
)
if
(
flexDirection
!==
'
column
'
)
{
nvueCssCode
=
nvueCssCode
.
replace
(
'
column
'
,
flexDirection
)
}
return
nvueCssCode
}
packages/uni-cli-shared/src/vite/plugins/vitejs/plugins/css.ts
浏览文件 @
88439291
...
@@ -228,7 +228,13 @@ function findCssModuleIds(
...
@@ -228,7 +228,13 @@ function findCssModuleIds(
*/
*/
export
function
cssPostPlugin
(
export
function
cssPostPlugin
(
config
:
ResolvedConfig
,
config
:
ResolvedConfig
,
{
appCss
,
extname
}:
{
appCss
?:
string
;
extname
:
string
}
{
chunkCss
,
extname
,
}:
{
chunkCss
:
(
filename
:
string
,
cssCode
:
string
)
=>
string
extname
:
string
}
):
Plugin
{
):
Plugin
{
// styles initialization in buildStart causes a styling loss in watch
// styles initialization in buildStart causes a styling loss in watch
const
styles
:
Map
<
string
,
string
>
=
new
Map
<
string
,
string
>
()
const
styles
:
Map
<
string
,
string
>
=
new
Map
<
string
,
string
>
()
...
@@ -303,9 +309,9 @@ export function cssPostPlugin(
...
@@ -303,9 +309,9 @@ export function cssPostPlugin(
.
join
(
'
\n
'
)
.
join
(
'
\n
'
)
}
}
for
(
const
filename
of
cssChunks
.
keys
())
{
for
(
const
filename
of
cssChunks
.
keys
())
{
const
cssCode
=
genCssCode
(
filename
)
let
source
=
await
processChunkCSS
(
let
source
=
await
processChunkCSS
(
(
filename
===
'
app.css
'
?
(
appCss
||
''
)
+
'
\n
'
:
''
)
+
chunkCss
?
chunkCss
(
filename
,
cssCode
)
:
cssCode
,
genCssCode
(
filename
),
{
dirname
:
path
.
dirname
(
filename
),
inlined
:
false
,
minify
:
true
}
{
dirname
:
path
.
dirname
(
filename
),
inlined
:
false
,
minify
:
true
}
)
)
this
.
emitFile
({
this
.
emitFile
({
...
...
packages/uni-cli-shared/src/vite/utils/plugin.ts
浏览文件 @
88439291
...
@@ -19,9 +19,15 @@ export function injectCssPlugin(config: ResolvedConfig) {
...
@@ -19,9 +19,15 @@ export function injectCssPlugin(config: ResolvedConfig) {
export
function
injectCssPostPlugin
(
export
function
injectCssPostPlugin
(
config
:
ResolvedConfig
,
config
:
ResolvedConfig
,
{
appCss
,
extname
}:
{
appCss
?:
string
;
extname
:
string
}
{
chunkCss
,
extname
,
}:
{
chunkCss
:
(
filename
:
string
,
cssCode
:
string
)
=>
string
extname
:
string
}
)
{
)
{
replacePlugins
([
cssPostPlugin
(
config
,
{
app
Css
,
extname
})],
config
)
replacePlugins
([
cssPostPlugin
(
config
,
{
chunk
Css
,
extname
})],
config
)
}
}
export
function
replacePlugins
(
plugins
:
Plugin
[],
config
:
ResolvedConfig
)
{
export
function
replacePlugins
(
plugins
:
Plugin
[],
config
:
ResolvedConfig
)
{
...
...
packages/uni-mp-vite/src/plugin/configResolved.ts
浏览文件 @
88439291
import
debug
from
'
debug
'
import
{
Plugin
}
from
'
vite
'
import
{
Plugin
}
from
'
vite
'
import
{
import
{
removePlugins
,
removePlugins
,
injectAssetPlugin
,
injectAssetPlugin
,
injectCssPlugin
,
injectCssPlugin
,
injectCssPostPlugin
,
injectCssPostPlugin
,
normalizePath
,
}
from
'
@dcloudio/uni-cli-shared
'
}
from
'
@dcloudio/uni-cli-shared
'
import
{
UniMiniProgramPluginOptions
}
from
'
.
'
import
{
UniMiniProgramPluginOptions
}
from
'
.
'
import
{
getNVueCssPaths
}
from
'
../plugins/pagesJson
'
const
debugNVueCss
=
debug
(
'
vite:uni:nvue-css
'
)
const
shadowCss
=
`page::after{position:fixed;content:'';left:-1000px;top:-1000px;-webkit-animation:shadow-preload .1s;-webkit-animation-delay:3s;animation:shadow-preload .1s;animation-delay:3s}@-webkit-keyframes shadow-preload{0%{background-image:url(https://cdn.dcloud.net.cn/img/shadow-grey.png)}100%{background-image:url(https://cdn.dcloud.net.cn/img/shadow-grey.png)}}@keyframes shadow-preload{0%{background-image:url(https://cdn.dcloud.net.cn/img/shadow-grey.png)}100%{background-image:url(https://cdn.dcloud.net.cn/img/shadow-grey.png)}}`
export
function
createConfigResolved
({
export
function
createConfigResolved
({
style
:
{
extname
},
style
:
{
extname
},
...
@@ -16,7 +22,21 @@ export function createConfigResolved({
...
@@ -16,7 +22,21 @@ export function createConfigResolved({
injectCssPlugin
(
config
)
injectCssPlugin
(
config
)
injectCssPostPlugin
(
config
,
{
injectCssPostPlugin
(
config
,
{
extname
,
extname
,
appCss
:
''
,
chunkCss
(
filename
,
cssCode
)
{
if
(
config
.
isProduction
&&
filename
===
'
app
'
+
extname
)
{
return
cssCode
+
shadowCss
}
const
nvueCssPaths
=
getNVueCssPaths
(
config
)
if
(
!
nvueCssPaths
||
!
nvueCssPaths
.
length
)
{
return
cssCode
}
const
normalized
=
normalizePath
(
filename
)
if
(
nvueCssPaths
.
find
((
pageCssPath
)
=>
pageCssPath
===
normalized
))
{
debugNVueCss
(
normalized
)
return
`@import "/nvue.wxss";\n`
+
cssCode
}
return
cssCode
},
})
})
injectAssetPlugin
(
config
)
injectAssetPlugin
(
config
)
}
}
...
...
packages/uni-mp-vite/src/plugin/index.ts
浏览文件 @
88439291
...
@@ -8,6 +8,8 @@ import {
...
@@ -8,6 +8,8 @@ import {
normalizeNodeModules
,
normalizeNodeModules
,
resolveBuiltIn
,
resolveBuiltIn
,
UniVitePlugin
,
UniVitePlugin
,
genNVueCssCode
,
parseManifestJsonOnce
,
}
from
'
@dcloudio/uni-cli-shared
'
}
from
'
@dcloudio/uni-cli-shared
'
import
{
uniOptions
}
from
'
./uni
'
import
{
uniOptions
}
from
'
./uni
'
...
@@ -59,6 +61,7 @@ export function uniMiniProgramPlugin(
...
@@ -59,6 +61,7 @@ export function uniMiniProgramPlugin(
const
{
const
{
vite
:
{
alias
,
copyOptions
},
vite
:
{
alias
,
copyOptions
},
template
,
template
,
style
,
}
=
options
}
=
options
const
emitFile
:
(
emittedFile
:
EmittedFile
)
=>
string
=
(
emittedFile
)
=>
{
const
emitFile
:
(
emittedFile
:
EmittedFile
)
=>
string
=
(
emittedFile
)
=>
{
if
(
emittedFile
.
type
===
'
asset
'
)
{
if
(
emittedFile
.
type
===
'
asset
'
)
{
...
@@ -70,11 +73,12 @@ export function uniMiniProgramPlugin(
...
@@ -70,11 +73,12 @@ export function uniMiniProgramPlugin(
)
)
).
replace
(
EXTNAME_VUE_RE
,
template
.
extname
)
).
replace
(
EXTNAME_VUE_RE
,
template
.
extname
)
debugMp
(
outputFilename
)
debugMp
(
outputFilename
)
fs
.
outputFile
Sync
(
outputFilename
,
emittedFile
.
source
!
)
fs
.
outputFile
(
outputFilename
,
emittedFile
.
source
!
)
return
outputFilename
return
outputFilename
}
}
return
''
return
''
}
}
let
isFirst
=
true
return
{
return
{
name
:
'
vite:uni-mp
'
,
name
:
'
vite:uni-mp
'
,
uni
:
uniOptions
({
uni
:
uniOptions
({
...
@@ -93,5 +97,18 @@ export function uniMiniProgramPlugin(
...
@@ -93,5 +97,18 @@ export function uniMiniProgramPlugin(
}
}
},
},
configResolved
:
createConfigResolved
(
options
),
configResolved
:
createConfigResolved
(
options
),
generateBundle
()
{
if
(
isFirst
)
{
// 仅生成一次
isFirst
=
false
this
.
emitFile
({
type
:
'
asset
'
,
fileName
:
'
nvue
'
+
style
.
extname
,
source
:
genNVueCssCode
(
parseManifestJsonOnce
(
process
.
env
.
UNI_INPUT_DIR
)
),
})
}
},
}
}
}
}
packages/uni-mp-vite/src/plugins/pagesJson.ts
浏览文件 @
88439291
import
fs
from
'
fs
'
import
fs
from
'
fs
'
import
path
from
'
path
'
import
path
from
'
path
'
import
debug
from
'
debug
'
import
debug
from
'
debug
'
import
{
Plugin
}
from
'
vite
'
import
{
Plugin
,
ResolvedConfig
}
from
'
vite
'
import
{
import
{
AppJson
,
AppJson
,
defineUniPagesJsonPlugin
,
defineUniPagesJsonPlugin
,
...
@@ -19,13 +18,22 @@ import { UniMiniProgramPluginOptions } from '../plugin'
...
@@ -19,13 +18,22 @@ import { UniMiniProgramPluginOptions } from '../plugin'
const
debugPagesJson
=
debug
(
'
vite:uni:pages-json
'
)
const
debugPagesJson
=
debug
(
'
vite:uni:pages-json
'
)
const
nvueCssPathsCache
=
new
Map
<
ResolvedConfig
,
string
[]
>
()
export
function
getNVueCssPaths
(
config
:
ResolvedConfig
)
{
return
nvueCssPathsCache
.
get
(
config
)
}
export
function
uniPagesJsonPlugin
(
export
function
uniPagesJsonPlugin
(
options
:
UniMiniProgramPluginOptions
options
:
UniMiniProgramPluginOptions
):
Plugin
{
):
Plugin
{
let
resolvedConfig
:
ResolvedConfig
return
defineUniPagesJsonPlugin
((
opts
)
=>
{
return
defineUniPagesJsonPlugin
((
opts
)
=>
{
return
{
return
{
name
:
'
vite:uni-mp-pages-json
'
,
name
:
'
vite:uni-mp-pages-json
'
,
enforce
:
'
pre
'
,
enforce
:
'
pre
'
,
configResolved
(
config
)
{
resolvedConfig
=
config
},
transform
(
code
,
id
)
{
transform
(
code
,
id
)
{
if
(
!
opts
.
filter
(
id
))
{
if
(
!
opts
.
filter
(
id
))
{
return
return
...
@@ -36,7 +44,7 @@ export function uniPagesJsonPlugin(
...
@@ -36,7 +44,7 @@ export function uniPagesJsonPlugin(
this
.
addWatchFile
(
filepath
)
this
.
addWatchFile
(
filepath
)
})
})
const
manifestJson
=
parseManifestJsonOnce
(
inputDir
)
const
manifestJson
=
parseManifestJsonOnce
(
inputDir
)
const
{
appJson
,
pageJsons
}
=
parseMiniProgramPagesJson
(
const
{
appJson
,
pageJsons
,
nvuePages
}
=
parseMiniProgramPagesJson
(
code
,
code
,
process
.
env
.
UNI_PLATFORM
,
process
.
env
.
UNI_PLATFORM
,
{
{
...
@@ -48,6 +56,11 @@ export function uniPagesJsonPlugin(
...
@@ -48,6 +56,11 @@ export function uniPagesJsonPlugin(
subpackages
:
options
.
app
.
subpackages
,
subpackages
:
options
.
app
.
subpackages
,
}
}
)
)
nvueCssPathsCache
.
set
(
resolvedConfig
,
nvuePages
.
map
((
pagePath
)
=>
pagePath
+
options
.
style
.
extname
)
)
addMiniProgramAppJson
(
appJson
)
addMiniProgramAppJson
(
appJson
)
Object
.
keys
(
pageJsons
).
forEach
((
name
)
=>
{
Object
.
keys
(
pageJsons
).
forEach
((
name
)
=>
{
addMiniProgramPageJson
(
name
,
pageJsons
[
name
])
addMiniProgramPageJson
(
name
,
pageJsons
[
name
])
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录