Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
uni-app
提交
88a8a87c
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,发现更多精彩内容 >>
提交
88a8a87c
编写于
12月 31, 2019
作者:
fxy060608
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(cli): add remove-scoped plugin
上级
b1b48332
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
61 addition
and
0 deletion
+61
-0
packages/vue-cli-plugin-uni/packages/@vue/component-compiler-utils/dist/stylePlugins/remove-scoped.js
...mponent-compiler-utils/dist/stylePlugins/remove-scoped.js
+61
-0
未找到文件。
packages/vue-cli-plugin-uni/packages/@vue/component-compiler-utils/dist/stylePlugins/remove-scoped.js
0 → 100644
浏览文件 @
88a8a87c
"
use strict
"
;
var
__importStar
=
(
this
&&
this
.
__importStar
)
||
function
(
mod
)
{
if
(
mod
&&
mod
.
__esModule
)
return
mod
;
var
result
=
{};
if
(
mod
!=
null
)
for
(
var
k
in
mod
)
if
(
Object
.
hasOwnProperty
.
call
(
mod
,
k
))
result
[
k
]
=
mod
[
k
];
result
[
"
default
"
]
=
mod
;
return
result
;
};
Object
.
defineProperty
(
exports
,
"
__esModule
"
,
{
value
:
true
});
const
postcss
=
__importStar
(
require
(
"
postcss
"
));
// postcss-selector-parser does have typings but it's problematic to work with.
const
selectorParser
=
require
(
'
postcss-selector-parser
'
);
exports
.
default
=
postcss
.
plugin
(
'
remove-scoped
'
,
(
options
)
=>
(
root
)
=>
{
root
.
each
(
function
rewriteSelector
(
node
)
{
if
(
!
node
.
selector
)
{
// handle media queries
if
(
node
.
type
===
'
atrule
'
)
{
if
(
node
.
name
===
'
media
'
||
node
.
name
===
'
supports
'
)
{
node
.
each
(
rewriteSelector
);
}
}
return
;
}
node
.
selector
=
selectorParser
((
selectors
)
=>
{
selectors
.
each
((
selector
)
=>
{
let
node
=
null
;
// find the last child node to insert attribute selector
selector
.
each
((
n
)
=>
{
// ">>>" combinator
// and /deep/ alias for >>>, since >>> doesn't work in SASS
if
(
n
.
type
===
'
combinator
'
&&
(
n
.
value
===
'
>>>
'
||
n
.
value
===
'
/deep/
'
))
{
n
.
value
=
'
'
;
n
.
spaces
.
before
=
n
.
spaces
.
after
=
''
;
return
false
;
}
// in newer versions of sass, /deep/ support is also dropped, so add a ::v-deep alias
if
(
n
.
type
===
'
pseudo
'
&&
n
.
value
===
'
::v-deep
'
)
{
n
.
value
=
n
.
spaces
.
before
=
n
.
spaces
.
after
=
''
;
return
false
;
}
if
(
n
.
type
!==
'
pseudo
'
&&
n
.
type
!==
'
combinator
'
)
{
node
=
n
;
}
});
if
(
node
)
{
node
.
spaces
.
after
=
''
;
}
else
{
// For deep selectors & standalone pseudo selectors,
// the attribute selectors are prepended rather than appended.
// So all leading spaces must be eliminated to avoid problems.
selector
.
first
.
spaces
.
before
=
''
;
}
});
}).
processSync
(
node
.
selector
);
});
});
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录