EdgeJS
Edge 是一个由 AdonisJS 核心团队为 Node.js 创建和维护的 简单、现代且功能齐全 的模板引擎。Edge 的写法类似于 JavaScript。如果你熟悉 JavaScript,那么你也就会使用 Edge。
Edge 的文档可在 https://edgejs.dev 查看
安装
使用以下命令安装并配置 Edge。
node ace add edge
-
使用检测到的包管理器安装
edge.js
包。 -
在
adonisrc.ts
文件中注册以下服务提供者。{providers: [// ...其他提供者() => import('@adonisjs/core/providers/edge_provider')]}
渲染你的第一个模板
配置完成后,你可以使用 Edge 来渲染模板。让我们在 resources/views
目录中创建一个 welcome.edge
文件。
node ace make:view welcome
打开新创建的文件,并在其中写入以下标记。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<h1>
Hello world from {{ request.url() }} endpoint
</h1>
</body>
</html>
最后,让我们注册一个路由来渲染这个模板。
import router from '@adonisjs/core/services/router'
router.get('/', async ({ view }) => {
return view.render('welcome')
})
你也可以使用 router.on().render
方法来渲染模板,而无需为路由分配回调函数。
router.on('/').render('welcome')
向模板传递数据
你可以通过向 view.render
方法的第二个参数传递一个对象来向模板传递数据。
router.get('/', async ({ view }) => {
return view.render('welcome', { username: 'romainlanz' })
})
配置 Edge
你可以通过在 start
目录中创建一个 预加载文件 来使用 Edge 插件或向 Edge 添加全局助手。
node ace make:preload view
start/view.ts
import edge from 'edge.js'
import env from '#start/env'
import { edgeIconify } from 'edge-iconify'
/**
* 注册一个插件
*/
edge.use(edgeIconify)
/**
* 定义一个全局属性
*/
edge.global('appUrl', env.get('APP_URL'))
全局助手
请查看 Edge 助手参考指南 以查看 AdonisJS 提供的助手列表。