Skip to content

Commit

Permalink
docs: 修改语句不通
Browse files Browse the repository at this point in the history
  • Loading branch information
iamouyang21 committed Dec 4, 2024
1 parent 02588d4 commit e7335e2
Show file tree
Hide file tree
Showing 7 changed files with 19 additions and 11 deletions.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Vue3 编译原理揭秘

**欧阳也在找工作,坐标成都求内推!微信号:heavenyjj0012**

本书有以下几个特点:

- 抛出一个你感兴趣的问题,通过这个问题带你揭开编译黑魔法的秘密
Expand Down
8 changes: 7 additions & 1 deletion docs/.vitepress/config.mts
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,13 @@ export default defineConfig({
],
themeConfig: {
// https://vitepress.dev/reference/default-theme-config
nav: [{ text: "本书交流群", link: "/guide/contact" }],
nav: [
{ text: "本书交流群", link: "/guide/contact" },
{
text: "欧阳也在找工作,坐标成都求内推!!",
link: "/guide/contact",
},
],
search: {
provider: "local",
},
Expand Down
12 changes: 6 additions & 6 deletions docs/guide/contact.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
**欧阳也在找工作,坐标成都求内推!微信号:heavenyjj0012**

我是欧阳,以下是我的简介:

- 「vue3编译原理揭秘」电子书作者
- 某知名互联网公司资深前端开发工程师

**欧阳年底也要毕业了**,建了一个**面试交流群**一起交流面试心得,以及分享内推信息。
加入欧阳的高质量 Vue 源码交流群,可以加我微信(heavenyjj0012),备注「揭秘」:

扫描下方二维码加欧阳微信(heavenyjj0012),还可以加入**高质量vue源码交流群**,群里也有不少面试官。
<div style="display: flex; justify-content: space-between;align-items: center;">
<img src="../images/guide/wx.webp" data-zoomable alt="Image 1" style="width: 48%;">
<img src="../images/guide/mianshi.webp" data-zoomable alt="Image 2" style="width: 48%;">
<img src="../images/guide/dalao.webp" data-zoomable alt="Image 2" style="width: 48%;">
<div style="display: flex; justify-content: space-between;">
<img src="../images/guide/wx.webp" alt="Image 1" style="width: 48%;">
<img src="../images/guide/dalao.webp" alt="Image 2" style="width: 48%;">
</div>

欧阳平时写文章都会参考的多本vue源码电子书,关注公众号回复「666」;此外欧阳的最新原创文章都是在公众号内发布
Expand Down
2 changes: 1 addition & 1 deletion docs/guide/start-view-source-code.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

相信不少同学都有欧阳这种情况,年初的时候给自己制定了一份关于学习**英语****源码**的详细年度计划。但是到了实际执行的时候因为各种情况制定的计划基本都没有完成,年底回顾时发现年初制定的计划基本都没完成。痛定思痛,第二年年初决定再次制定一份学习**英语****源码**的详细年度计划,毫无疑问又失败了。

经过多年的摸索,对于如何查看源码欧阳终于有了一些自己的心得。有的同学还想问英语有什么心得没,不要问,再问欧阳哭给你看。
经过多年的摸索,对于如何查看源码欧阳终于有了一些自己的心得。

# 一看源码就头晕

Expand Down
2 changes: 1 addition & 1 deletion docs/guide/vue-to-js.md
Original file line number Diff line number Diff line change
Expand Up @@ -324,7 +324,7 @@ function resolveScript(descriptor, options, ssr, customElement) {
这里的 `options.compiler` 我们前面第一步的时候已经解释过了,`options.compiler` 对象实际就是 Vue 底层包 `vue/compiler-sfc` 暴露的对象,这里的 `options.compiler.compileScript()` 其实就是调用的 `vue/compiler-sfc` 包暴露出来的 `compileScript` 函数,同样也是一个 Vue 暴露出来的底层的 API。
后面我们的分析 `defineOptions` 等文章时会去深入分析 `compileScript` 函数,这篇文章我们不会去读 `compileScript` 函数的源码。通过查看 `compileScript` 函数的输入和输出基本就可以搞清楚 `compileScript` 函数的作用。下面这个是 `compileScript` 函数的类型定义:
后面我们的分析 `defineProps` 等文章时会去深入分析 `compileScript` 函数,这篇文章我们不会去读 `compileScript` 函数的源码。通过查看 `compileScript` 函数的输入和输出基本就可以搞清楚 `compileScript` 函数的作用。下面这个是 `compileScript` 函数的类型定义:
```js
export function compileScript(
Expand Down
2 changes: 1 addition & 1 deletion docs/script/defineExpose.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
_sfc_main.render = _sfc_render;
export default _sfc_main;
```
从上面可以看到`_sfc_main`对象中的`setup`对应的就是我们源代码`<script setup>`中的内容,并且`defineExpose`宏函数也不在了,变成了一个`__expose`方法`defineExpose`宏函数如何编译成`__expose`方法我们会在下一篇文章讲)。如下图:
从上面可以看到`_sfc_main`对象中的`setup`对应的就是我们源代码`<script setup>`中的内容,并且`defineExpose`宏函数也不在了,变成了一个`__expose`方法。如下图:
![convert](../images/script/defineExpose/convert.webp){data-zoomable}

# `expose`方法
Expand Down
2 changes: 1 addition & 1 deletion docs/script/setup-vars.md
Original file line number Diff line number Diff line change
Expand Up @@ -516,7 +516,7 @@ if (
) {
returned += `get ${key}() { return ${key} }, `;
}
```js
```
if条件判断是:如果当前import导入不是从vue中,并且也不是import导入一个vue组件。那么就给return一个只拥有get的访问器属性,对应我们demo中的就是`import { format } from "./util.js"`中的`format`函数。

我们再来看第二个else if判断,代码如下:
Expand Down

0 comments on commit e7335e2

Please sign in to comment.