Nue JS是一个非常小(2.3kb minzipped)的JavaScript库,用于构建Web界面。它是即将到来的Nue生态系统的核心。它就像 Vue.js、React.js 或 Svelte,但没有钩子、效果、道具、门户、观察者、提供、注入、暂停或其他不寻常的抽象。学习HTML,CSS和JavaScript的基础知识,你就可以开始了。
Nue 的最大好处是你需要更少的代码来做同样的事情:
看到你需要编写的代码量相差 2-10 倍并不罕见。例如,用 Nue 编写的列表框组件比 Headless UI 项目中的 React 版本小十倍左右。
Nue 使用基于 HTML 的模板语法:
<div @name="media-object" class="{ type }">
<img src="{ img }">
<aside>
<h3>{ title }</h3>
<p :if="desc">{ desc }</p>
<slot/>
</aside>
</div>
虽然React和JSX声称“只是JavaScript”,但Nue可以被认为是“只是HTML”。Nue 非常适合专注于交互设计、可访问性和用户体验的 UX 开发人员。
Nue 扩展性非常好的三个原因:
关注点分离,易于理解的代码比“意大利面条代码”更容易扩展
极简主义,一百行代码比一千行代码更容易扩展
人才分离,当UX开发人员专注于前端,而JS/TS开发人员专注于前端的后端时,你的团队技能将得到最佳调整:
Nue 不提倡使用 Scoped CSS、style attribute、Tailwind 或其他 CSS-in-JS 体操:
更多可重用代码:当样式未硬编码到组件时,同一组件的外观可能会有所不同,具体取决于页面或上下文。
没有意大利面条代码:纯HTML或纯CSS比混合意大利面条代码更容易阅读
更快的页面加载:通过解耦样式,可以更轻松地从辅助 CSS 中提取主 CSS,并将 HTML 页面保持在关键的 14kb 限制以下。
了解有关样式的详细信息
Nue 具有丰富的组件模型,它允许你使用不同类型的组件创建各种应用程序:
服务器组件在服务器上呈现。它们可以帮助你构建以内容为中心的网站,这些网站在没有 JavaScript 的情况下加载速度更快,并且可以被搜索引擎抓取。
React 式组件在客户端上呈现。它们可帮助你构建动态孤岛或单页应用程序。
混合组件部分呈现在服务器端,部分呈现在客户端。这些组件可帮助你构建 React 式、SEO 友好的组件,例如视频标签或图像库。
通用组件在服务器端和客户端的使用方式相同。
Nue 允许你在单个文件上定义多个组件。这是将相关组件组合在一起并简化依赖项管理的好方法。
<!-- shared variables and methods -->
<script>
import { someMethod } from './util.js'
</script>
<!-- first component -->
<article @name="todo">
...
</article>
<!-- second component -->
<div @name="todo-item">
...
</div>
<!-- third component -->
<time @name="cute-date">
...
</time>
使用库文件,你的文件系统层次结构看起来更清晰,并且你需要更少的样板代码将连接的部分联系在一起。它们有助于为其他人打包库。
Nue JS带有一个简单的服务器端渲染函数和一个为浏览器生成组件的函数。你不需要像 Webpack 或 Vite 这样的复杂捆绑器来控制你的开发环境。只需将 Nue 导入你的项目,你就可以开始了。
render
compile
当然,如果你的应用程序变得更加复杂,具有大量依赖项,则可以在业务模型上使用捆绑器。包子和esbuild是很棒的,高性能的选择。
Nue JS 是一个多功能工具,支持服务器端和客户端呈现,并帮助你构建以内容为中心的网站和 React 式单页应用程序。
用户界面库开发为 React 式前端或服务器生成的内容创建可重用组件。
渐进式增强Nue JS是一个完美的微型库,可以使用动态组件或“孤岛”来增强你以内容为中心的网站
静态网站生成器只需将其导入到你的项目中,你就可以进行渲染了。不需要捆绑器。
单页应用程序与即将推出的Nue MVC项目一起构建更简单,更具可扩展性的应用程序。
模板化Nue 是生成你的网站和 HTML 电子邮件的通用工具。