yanhaijing / template.js

A javascript template engine, simple, easy & extras, support webpack, rspack, vite, rollup, esbuild, parcel, browserify, fis and gulp.
MIT License
1.32k stars 498 forks source link

是否考虑类似 v-if、v-for 的写法? #42

Open KarnaughK opened 4 years ago

KarnaughK commented 4 years ago

是否考虑类似 v-if、v-for 的写法?

现在这种写法怎么说呢,对于格式化代码不太友好吧,而且写完看起来会有点乱乱的

主要是 if 内的 html 格式化代码后会和 if 逻辑所在的标签同一层级,看不出来层级结构。。。

比如:

<#if(判断条件A) {#>
    <div>111</div>
<#} else if (判断条件B) {#>
    <#if (判断条件C) {#>
        <div>222</div>
    <#}#>
    <#if (判断条件D) {#>
        <div>333</div>
    <#}#>
<#}#>

当我按了格式化以后就会变成

<#if(判断条件A) {#>
<div>111</div>
<#} else if (判断条件B) {#>
<#if (判断条件C) {#>
<div>222</div>
<#}#>
<#if (判断条件D) {#>
<div>333</div>
<#}#>
<#}#>

如果 if 里头的代码再多一些的话,理解代码就会非常困难。。。。 而如果是在标签属性上加 if else的话,那么只要收起这个标签就能很清洗的了解逻辑了。。。

从模板的角度考虑的话,v-show 这种控制 css 的不需要实现,v-if + v-for 就能解决好多东西了

yanhaijing commented 4 years ago

get你的意思,就像 ng和vue?现在是和react比较像的对吧?

但是就得搞一套自己dsl,想想脑壳疼😄

还有个思路,是不是搞个格式化工具和语法高亮工具就搞定了?

最近正在搞cli工具,最近正在思考 怎么搞vscode的语法高亮,看起来得先搞个格式化工具?

如果有了语法高亮和格式化工具,v-for和v-if 还是需要的吗???

KarnaughK commented 4 years ago

but...我用的是 webstorm 哈哈,格式化工具感觉也不是太省心的样子(别偷懒😂)

yanhaijing commented 4 years ago

好的接受广大用户的心声,不过有点难搞啊😭

yanhaijing commented 4 years ago

https://marketplace.visualstudio.com/items?itemName=yanhaijing1234.templatejs 高亮插件好了,试试😄

yanhaijing commented 4 years ago

cli工具上新,欢迎尝鲜

$ npx @templatejs/cli new myapp
# 选择对应的平台
# ❯ webpack4 
#   rollup 
#   parcel 
#   fis3 
#   browserify 
#   gulp 
#   browser
yanhaijing commented 4 years ago

目前 vscode,atom,sublime高亮插件都做好了,webstorm和其他编辑器不太一样,还需要写java代码,还没搞定,有兴趣来搞不😄

KarnaughK commented 4 years ago

666,老哥行动力真强 说实在的挺有兴趣的,然而之前用 tina.js 的时候尝试过,最后还是没搞懂怎么开发 webstorm 的插件😂 java 的话干过 android,还会一点点

yanhaijing commented 4 years ago

加个微信 yanhaijing123