现在的位置: 首页 > web前端 > 正文

fre js小而美

2020年07月03日 web前端 ⁄ 共 789字 ⁄ 字号 评论关闭

  frejs_一个小而美的前端MVVM框架


  frejs安装:


  yarnaddfre-S


  frejs使用:


  import{observe,html,mount}from'./src'


  functioncounter(){


  constdata=observe({


  count:0


  })


  returnhtml`


  <div>


  <h1>${data.count}</h1>


  <buttononclick=${()=>{data.count++}}>+</button>


  <buttononclick=${()=>{data.count--}}>-</button>


  </div>


  `


  }


  mount(html`<${counter}/>`,document.body)


  Proxy:


  constdata=observe({


  count:0


  })


  会生成一个全递归的Proxy对象,会自动去observe,data更新会自动触发rerender,这个更新是准确


  fre提供JSX-like的taggedtemplate语法,浏览器原生支持,无需编译


  建议根据场景选择,webpack下JSX比较合适,浏览器环境肯定要taggedtemplate(如后端语言的模板引擎)


  html`


  <div>


  <h1>${data.count}</h1>


  <buttononclick=${()=>{data.count++}}>+</button>


  <buttononclick=${()=>{data.count--}}>-</button>


  </div>


  `


  和jsx一样,最终会被转换成h函数,进而生成vdomtree


  总之,frejs性能不会差,可以粗略理解为vue的compile过程,如果使用jsx,将直接省略这个过程。


  

【上篇】
【下篇】

抱歉!评论已关闭.