Skip to content

Commit a029f53

Browse files
committed
chore: temp commit
1 parent 6896a9e commit a029f53

File tree

5 files changed

+12
-46
lines changed

5 files changed

+12
-46
lines changed

packages/core/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ const unplugin = createUnplugin<Options>(
5353
name: `${NAME}:inject`,
5454
enforce: 'post',
5555
async transform(code: string, id: string) {
56+
debugger
5657
// ⭐TODO: 只支持 .vue ? jsx, tsx, js, ts ?
5758
try {
5859
// transform in dev

packages/core/inject/inject-cssvars.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ export function createUseCssVarsCode(
124124
})
125125
let resCode = ''
126126
if (isHas) {
127-
resCode = code.includes('_useCssVars((_ctx') ? resCode = resCode.replaceAll(
127+
resCode = code.includes('_useCssVars((_ctx') ? code.replaceAll(
128128
'_useCssVars((_ctx) => ({',
129129
`_useCssVars((_ctx) => ({\n ${cssvarsObjectCode}`)
130130
: code.replaceAll(

packages/core/runtime.md

Lines changed: 3 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,3 @@
1-
# !!!核心流程改变
2-
预处理
3-
✅1.分析 css Module Map
4-
根据文件,分析路径树。以及对应文件的 v-bind-m 集合
5-
foo.css
6-
#app {
7-
color: v-bind-m(fooColor)
8-
}
9-
{ xxxx/xxxx/foo.css: ["fooColor"]}
10-
11-
/******************************************************
12-
transform pre
13-
✅ 2. 获取原始 sfc 中的 descriptor 中获得的 style、importer 信息,与步骤1对比
14-
得到 sfc -》 css module path tree
15-
16-
17-
✅ 3.分析原始的 sfc 中的变量,
18-
与步骤2 中的变量做匹配,得到命中的变量
19-
提取规则与 1.0.0 保持一直,
20-
{
21-
xxxx/xxxx/app.vue : {
22-
fooColor: 'const fooColor = ref('color')'
23-
}
24-
}
25-
// 后面做 ??
26-
tips: 是否支持从外部js导入的代码定义
27-
import c from 'c'
28-
const cc = c
29-
30-
/******************************************************
31-
32-
33-
34-
35-
36-
✅ 4. transform post 阶段
37-
根据步骤3中该组件的变量
38-
注入 useCssVars 方法,这里如果sfc本身有 useCssVars 方法,则添加到末尾
39-
这里害得记录对应的 cssvars 哈希,组件哈希等
40-
⚠️5. 在build bundle 阶段,改写 css
1+
在build bundle 阶段,改写 css
2+
似乎不太行得通....
3+
两个文件 相同的 importer path 上,相同的样式,相同的cssvars(hash 不同),會衝突

play/src/App.vue

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,8 @@ export default defineComponent({
8383
/* foo.scss -> test.scss -> test2.css */
8484
8585
/*@import "./assets/less/less-foo";*/
86-
86+
div {
87+
color: v-bind(color)
88+
}
8789
@import './assets/scss/foo.scss';
8890
</style>

play/src/comp.vue

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@ const compTheme6 = () => 'red'
1616
</div>
1717
</template>
1818

19-
<style>
20-
/*@import "./assets/test.css";
21-
!* div {
19+
<style lang="scss">
20+
/*@import "./assets/test.css";*/
21+
div {
2222
color: v-bind(color)
23-
}*!*/
23+
}
2424
@import './assets/scss/bar.scss';
2525
</style>

0 commit comments

Comments
 (0)