写点什么

Aleph.js 发布 Alpha 版,一个基于 Deno 的服务器端渲染框架

  • 2021-01-15
  • 本文字数:1606 字

    阅读完需:约 5 分钟

Aleph.js发布Alpha版,一个基于Deno的服务器端渲染框架

Aleph.js 是基于Deno的React框架,用于服务器端渲染应用程序,现在发布了Alpha版。Aleph 让Next.js的很多核心特性在 Deno 环境中可用:零配置的服务器端渲染、静态站点生成、文件系统和 API 路由,等等。Aleph 使用标准的 EcmaScript 模块(ESM)import 语法,在开发环境中不使用打包器。Aleph 还借助react-refresh提供了模块热替换。


Aleph.js 深受 Next.js 的启发,后者自称是一个生产就绪的 React 框架。与 Next.js 一样,Aleph 提供了高效的特性,为开发者提供了更好的体验。Alpha 版的 Aleph 提供了基于页面的路由系统(支持动态路由)、API 路由、基于路由的国际化支持、静态站点生成、默认预渲染(具有可配置的服务器端渲染)、客户端路由、CSS 和 Sass 支持,以及 react-refresh 支持。在开发 Web 应用程序时,开发人员将使用一组页面和 API,每个页面都用一个 React 组件实现。


与 Next.js 不一样的是,Aleph 是基于 Deno 的。Deno 是 Node.js 的替代品,旨在弥补 Node 的缺点。Deno 在今年早些时候发布了它的第一个主要版本,开箱即用地支持 TypeScript。Deno 有一个更严格的安全模型,不允许任何文件、网络或环境访问,除非显式地启用。Deno 不使用 package.json 文件、node_modules 目录或 CommonJS 模块。相反,Deno 采用 EcmaScript 模块(ESM),并将依赖项作为 URL 导入。


Aleph 的文档解释了使用 Deno 模块的一个生产力优势:


每个模块只需要编译一次,然后缓存到磁盘上。当模块发生变化时,只需重新编译该模块,重新打包不会浪费时间。


下面是 Aleph 的一个简单例子:


import React from "https://esm.sh/react@17.0.1"import Logo from "../components/logo.tsx"export default function Home() {    return (      <div>        <Logo />        <h1>Hello World!</h1>      </div>    )}
复制代码


Aleph 通过放在应用程序根目录的import_map.json文件来支持导入映射。导入映射是Web Incubator Community Group(WICG)提出的一个建议,可用解析原始导入标识符。有了导入映射,Aleph 可以将从 import React from "react"替换为 import React from “https://esm.sh/react@16.13.1”。


在开发过程中,Aleph.js 需要现代浏览器来支持ESM模块和动态导入。现代浏览器包括 Chrome(>=61)、Edge(>=16)、Firefox(>=60)、Safari(>=11)和 Opera(>=48)。


开发人员可以使用 Deno 运行时在构建时计算数据,并将数据传递给页面。一些框架,如Dojo,将这种方法称为构建时渲染。Next.js 提供了getStaticPropsgetServerSideProps方法,用于在构建时或发送请求时获取数据。


开发人员可以定制404 页面,也可以使用自定义的<App>、<Head>和<Scripts>组件来控制页面初始化(全局布局或样式),并自定义页面上的<head>和<scripts>标签。如下所示:


import React from "https://esm.sh/react"import { Head, Scripts } from "https://deno.land/x/aleph/mod.ts"export default function App({ Page, pageProps }) {  return (    <>      <Head>        <title>Aleph.js</title>      </Head>      <Scripts>        <script async src="https://www.googletagmanager.com/gtag/js?id=G-1234567890"></script>        <script>{`          window.dataLayer = window.dataLayer || [];          function gtag(){            dataLayer.push(arguments);          }          gtag('js', new Date());          gtag('config', 'G-1234567890');        `}</script>      </Scripts>      <Page {...pageProps} />    </>  )}
复制代码


Aleph 还处在 Alpha 阶段,并且还在积极开发当中。Aleph 计划在生产环境中使用经过 polyfill 的 nomodul .js 来支持老浏览器(例如 IE11),它使用SystemJS来导入模块。有关提供 PWA 和 AMP 支持的进一步工作也在进行当中。


开发人员可以在线访问Aleph的文档。Aleph 是采用了 MIT 开源许可。欢迎开发人员加入贡献和反馈,并遵守 Aleph 的贡献指南


原文链接

Server-Rendered Web Applications in Deno with Aleph.js

2021-01-15 17:122657

评论

发布
暂无评论
发现更多内容

跨平台的键鼠共享工具synergy for mac v1.10.0中文版

理理

机器人测试自动化智能化交流沙龙 —免费参与,线上线下同步进行

测试人

软件测试

如何挑选符合你需求的任务管理工具

爱吃小舅的鱼

待办事项管理

大数据处理与智慧营销系统性能优化

鲸品堂

大数据 营销 流程化 企业号2024年8月PK榜

如何做好API安全

德迅云安全杨德俊

Downie 4 for Mac(视频下载工具)兼容14系统 v4.7.26中文版

理理

探索HarmonyOS位置服务:为用户提供直观的坐标显示

白晓明

HarmonyOS HarmonyOS NEXT 位置服务 地理编码转化 逆地理编码转化

天猫商品详情API:商品推荐与关联的获取

技术冰糖葫芦

API Explorer API 接口 API 测试 API 策略 pinduoduo API

身份管理“六边形战士”闪亮登场

芯盾时代

身份安全 iam 统一身份认证 身份和访问管理

量化交易炒币机器人系统开发策略指南/步骤需求/案例设计/源码版

V\TG【ch3nguang】

如果提议者提议区块的时间晚了,会对见证有何影响?

TechubNews

天猫商品详情API:深度挖掘商品推荐与关联的新路径

代码忍者

API 接口 API 测试

监理单位项目管理系统选型必看指南

爱吃小舅的鱼

项目管理

KeyShot 2024 Pro中文破解版 含浮动许可证

理理

SourceTree for Mac(Git客户端工具) v4.1.5中文免登陆版

理理

香城档案利用 NocoBase 快速实现智能档案管理

NocoBase

低代码 无代码 档案管理

Complete Anatomy for Mac 3D医学软件免费版 支持M1/M2

理理

统一多场景自动编译加速

百度Geek说

编译器 百度飞桨

coconutBattery Plus:苹果mac电脑 电池健康检测工具

Rose

苹果电脑cad看图软件推荐:CAD迷你看图 Mac破解版 体积小功能强

理理

扬帆蓝海,智起未来!和鲸科技助力第十三届全国海洋航行器设计与制作大赛智能感知赛道精彩收官!

ModelWhale

揭示低代码与AI结合的商业价值

天津汇柏科技有限公司

人工智能 低代码

LED单色显示屏未来发展的3个困难点

Dylan

技术 LED显示屏 全彩LED显示屏 led显示屏厂家 市场

小小的引用计数,大大的性能考究

bin的技术小屋

Netty Java' netty

新手指南:轻松选择生产工时管理系统

爱吃小舅的鱼

工时管理

无缝连接!YashanDB DBLink技术应用实践

YashanDB

yashandb 崖山数据库 崖山DB

Autodesk AutoCAD 2021 Mac版中文激活版 含cad2021永久密钥

理理

6 个Spring tx 事务注解:4种隔离&7种事务传播业务案例(必须收藏)

肖哥弹架构

Java spring 注解

fxfactory视觉特效下载 FxFactory 8 Pro mac破解资源

Rose

FxFactory Pro 8 fxfactory视觉特效

简历,需要和求职岗位匹配

老张

裁员 职场成长 求职面试

必看!文档版本管理工具大比拼

爱吃小舅的鱼

文档管理

Aleph.js发布Alpha版,一个基于Deno的服务器端渲染框架_大前端_Bruno Couriol_InfoQ精选文章