什么是 Vue DSL?

什么是 DSL

DSL专业称呼叫做领域特定语言。对于我们前端来说,像我们平时写的 json, html, css, js, jsx 等等,这种便于我们描述场景并且也能被计算机所识别的语言叫做 DSL。

那么什么是 Vue DSL?

从上面的 DSL 介绍来看,我们平时写的 html, js, css 都属于 DSL 的一种。按照传统的页面写法里面,一个页面有 css, js, html,Vue 一开始为了能让 web 开发者上手顺利,也采用了类似的形式,在 .vue 文件中写 template, scriptstyle
例如:

    <style>
        div {
            font-size: 14px;
        }
    </style>
    <body>
        <div>Hello World</div>
        <script></script>
    </body>
    // 这是 vue 的
    <template>
        <div>Hello World</div>
    </template>
    <script>
         div {
            font-size: 14px;
        }
    </script>
    <style></style>

从上面两个代码片段可以看出在 vue 中,template 就是对应描述 html 内容的, script 对应的是传统 html 文件中的 js 代码,style 对应的是传统 html 文件中的 css 样式。

在 vue 中是如何把 DSL 转变成传统模式的 html 格式的

如果你是使用 @vue/cli 来创建项目的话,应该在构建命令中有一个选项,选择 runtime onlyruntime + compiler

runtime only

runtime only 模式他只能允许在 .vue 文件中去使用 template,如果在其他地方使用 vue 是不会认的。在编译的时候,$mount(template) => render => vnode => UI

runtime + compiler

runtime + compiler 可以在任意地方使用 template,并且在编译的时候跟 runtime only 模式有一点区别, template => ast => render => vnode => UI。

Vue编译参考文献:【面试题解析✨】Vue 的数据是如何渲染到页面的?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值