Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
genary
uni-app
提交
ef535ea1
U
uni-app
项目概览
genary
/
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,发现更多精彩内容 >>
提交
ef535ea1
编写于
8月 03, 2021
作者:
fxy060608
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(app): support minify css
上级
b3cdc137
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
25 addition
and
26 deletion
+25
-26
packages/uni-cli-shared/src/vite/plugins/css.ts
packages/uni-cli-shared/src/vite/plugins/css.ts
+13
-5
packages/uni-cli-shared/src/vite/plugins/vitejs/index.ts
packages/uni-cli-shared/src/vite/plugins/vitejs/index.ts
+1
-16
packages/uni-cli-shared/src/vite/plugins/vitejs/plugins/css.ts
...ges/uni-cli-shared/src/vite/plugins/vitejs/plugins/css.ts
+5
-5
packages/uni-cli-shared/tsconfig.json
packages/uni-cli-shared/tsconfig.json
+1
-0
packages/vite-plugin-uni/src/cli/utils.ts
packages/vite-plugin-uni/src/cli/utils.ts
+5
-0
未找到文件。
packages/uni-cli-shared/src/vite/plugins/css.ts
浏览文件 @
ef535ea1
import
path
from
'
path
'
import
debug
from
'
debug
'
import
{
Plugin
}
from
'
vite
'
import
{
Plugin
,
ResolvedConfig
}
from
'
vite
'
import
{
normalizePath
,
resolveMainPathOnce
}
from
'
../../utils
'
import
{
EXTNAME_VUE_RE
}
from
'
../../constants
'
import
{
minifyCSS
}
from
'
./vitejs/plugins/css
'
const
cssLangs
=
`\\.(css|less|sass|scss|styl|stylus|pcss|postcss)($|\\?)`
const
cssLangRE
=
new
RegExp
(
cssLangs
)
...
...
@@ -37,9 +38,12 @@ interface UniCssPluginOptions {
export
function
uniCssPlugin
({
app
}:
UniCssPluginOptions
):
Plugin
{
const
styles
:
Map
<
string
,
string
>
=
new
Map
<
string
,
string
>
()
let
cssChunks
:
Map
<
string
,
Set
<
string
>>
let
resolvedConfig
:
ResolvedConfig
return
{
name
:
'
vite:uni-app-css
'
,
configResolved
(
config
)
{
resolvedConfig
=
config
},
buildStart
()
{
cssChunks
=
new
Map
<
string
,
Set
<
string
>>
()
},
...
...
@@ -55,7 +59,7 @@ export function uniCssPlugin({ app }: UniCssPluginOptions): Plugin {
moduleSideEffects
:
'
no-treeshake
'
,
}
},
generateBundle
()
{
async
generateBundle
()
{
const
findCssModuleIds
=
(
moduleId
:
string
,
cssModuleIds
?:
Set
<
string
>
...
...
@@ -99,11 +103,15 @@ export function uniCssPlugin({ app }: UniCssPluginOptions): Plugin {
.
join
(
'
\n
'
)
}
for
(
const
fileName
of
cssChunks
.
keys
())
{
let
source
=
(
fileName
===
'
app.css
'
?
app
+
'
\n
'
:
''
)
+
genCssCode
(
fileName
)
if
(
resolvedConfig
.
build
.
minify
)
{
source
=
await
minifyCSS
(
source
,
resolvedConfig
)
}
this
.
emitFile
({
fileName
,
type
:
'
asset
'
,
source
:
(
fileName
===
'
app.css
'
?
app
+
'
\n
'
:
''
)
+
genCssCode
(
fileName
),
source
,
})
}
},
...
...
packages/uni-cli-shared/src/vite/plugins/vitejs/index.ts
浏览文件 @
ef535ea1
import
{
ModuleNode
,
ViteDevServer
as
OrigViteDevServer
}
from
'
vite
'
export
{
ResolveFn
}
from
'
vite
'
export
interface
ViteDevServer
extends
OrigViteDevServer
{
_globImporters
:
Record
<
string
,
{
module
:
ModuleNode
importGlobs
:
{
base
:
string
pattern
:
string
}[]
}
>
}
export
{
ResolveFn
,
ViteDevServer
}
from
'
vite
'
packages/uni-cli-shared/src/vite/plugins/vitejs/plugins/css.ts
浏览文件 @
ef535ea1
...
...
@@ -724,13 +724,13 @@ async function compileCSS(
}
if
(
server
)
{
// register glob importers so we can trigger updates on file add/remove
if
(
!
(
id
in
server
.
_globImporters
))
{
server
.
_globImporters
[
id
]
=
{
if
(
!
(
id
in
(
server
as
any
)
.
_globImporters
))
{
;(
server
as
any
)
.
_globImporters
[
id
]
=
{
module
:
server
.
moduleGraph
.
getModuleById
(
id
)
!
,
importGlobs
:
[],
}
}
server
.
_globImporters
[
id
].
importGlobs
.
push
({
;(
server
as
any
)
.
_globImporters
[
id
].
importGlobs
.
push
({
base
:
config
.
root
,
pattern
,
})
...
...
@@ -882,8 +882,8 @@ async function doUrlReplace(
return
`url(
${
wrap
}${
await
replacer
(
rawUrl
)}${
wrap
}
)`
}
async
function
minifyCSS
(
css
:
string
,
config
:
ResolvedConfig
)
{
// fixed by xxxxxx
export
async
function
minifyCSS
(
css
:
string
,
config
:
ResolvedConfig
)
{
const
{
code
,
warnings
}
=
await
transform
(
css
,
{
loader
:
'
css
'
,
minify
:
true
,
...
...
packages/uni-cli-shared/tsconfig.json
浏览文件 @
ef535ea1
{
"extends"
:
"../../tsconfig.node.json"
,
"compilerOptions"
:
{
"baseUrl"
:
"./"
,
"outDir"
:
"dist"
,
"paths"
:
{
"types/alias"
:
[
"types/alias.d.ts"
]
...
...
packages/vite-plugin-uni/src/cli/utils.ts
浏览文件 @
ef535ea1
...
...
@@ -83,6 +83,11 @@ export function initEnv(type: 'dev' | 'build', options: CliOptions) {
// process.exit(1)
// )
// }
if
(
process
.
env
.
NODE_ENV
===
'
production
'
)
{
if
(
!
(
options
as
BuildOptions
).
minify
)
{
;(
options
as
BuildOptions
).
minify
=
'
terser
'
}
}
if
(
process
.
env
.
UNI_PLATFORM
===
'
app
'
)
{
initNVueEnv
()
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录