fre.js

编程之家收集整理的这个编程导航主要介绍了fre.js编程之家,现在分享给大家,也给大家做个参考。

fre.js 介绍

介绍:

其实,free 是一部动漫名,也是我最喜欢的番没有之一,haru 是我儿子! 

安装:

yarn add fre -S

使用:

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

function counter() {

const data = observe({

count: 0

})

return html`

<div>

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

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

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

</div>

`

}

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

Proxy:

const data = observe({

count: 0

})

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

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

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

html`

<div>

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

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

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

</div>

`

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

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

hooks API

其实这里应该叫做functionalCompoent比较合适,一种新的组件化方案。如下,fre 和 vue、react 不同,fre 的组件是无自身状态、可复用的标记代码块

只有根组件拥有全局状态,但这不妨碍你进行多次 render 创造多个根组件

import{ mount,observe } from 'fre'

function counter() {

const data = observe({

count: 0

})

return html`

<div>

${html`<${count} count=${data.count} />`}

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

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

</div>

`

}

function count(props){

return html`

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

`

}

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

jsX

默认也对外暴露了 h 函数,可以选用 jsX

import { h } from 'fre'

webpack 需配置:

{

"plugins": [

["transform-react-jsx",{ "pragma":"Fre.h" }]

]

}

网站地址:https://fre.js.org

GitHub:https://github.com/132yse/fre

网站描述:一个小而美的前端 MVVM 框架

fre.js

官方网站:https://fre.js.org

小编说

以上是编程之家为你收集整理的fre.js全部内容。

如果觉得编程之家网站内容还不错,欢迎将编程之家推荐给好友。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


johnny-five,Bocoup 的 JavaScript 机器和物联网编程框架
WePY,一款让小程序支持组件化开发的框架
Deep playground,神经网络的交互式可视化,使用d3.js和TypeScript编写
ShareDB,用于并发编辑系统的前端数据库
RxJS,RxJS 是使用 Observables 的响应式编程的库
egg-react-ssr,最小而美的Egg + React + SSR 服务端渲染应用骨架
Avalon.js,迷你, 易用 ,高性能 的前端MVVM框架
d3-dag,用于可视化有向无环图的布局算法
Guess.js,Google的数据驱动改进前端体验的工具库
hyperapp,创建前端应用的 1 KB 的 JavaScript 库
ITPUB,中国专业的IT技术社区
HTTPie,一个 HTTP 的命令行客户端工具
Inferno,快速、类React风格的js用户界面库
Quasar,基于Vue构建响应式网站和混合移动端 APP
dva, 基于 React 和 redux 的轻量级框架配合 umi 使用后更是降低为 0 API
graphql-yoga,graphql-yoga 全功能的GraphQL服务器,专注于简单的设置,性能和卓越的开发者体验
Next.js,实现react的服务端渲染的框架
IronJS,一个.NET的JavaScript实现
mpvue,基于 Vue.js 的小程序开发框架
react,Facebook开发的一款高效、灵活、声明式设计的JS库