uni-app node中的模板

发布于 1周前 作者 sinazl 来自 Uni-App

uni-app node中的模板

在创建node.js的项目中,引用了ejs的模板,使用这个模板没有高亮

1 回复

在处理 uni-app 与 Node.js 中的模板时,通常我们需要在服务器端使用模板引擎来生成 HTML,并通过 API 发送给 uni-app 客户端。以下是一个使用 Express 和 Pug(以前称为 Jade)模板引擎的示例,展示了如何在 Node.js 中使用模板,并将生成的 HTML 发送给 uni-app

Node.js 服务器端代码(使用 Express 和 Pug)

首先,确保你已经安装了 Node.js 和 npm。然后,创建一个新的项目目录并初始化 npm:

mkdir uni-app-node-template
cd uni-app-node-template
npm init -y

安装 Express 和 Pug:

npm install express pug

创建一个 server.js 文件,并添加以下代码:

const express = require('express');
const app = express();
const port = 3000;

// 设置视图引擎为 Pug
app.set('view engine', 'pug');

// 路由处理
app.get('/template', (req, res) => {
    res.render('index', {
        title: 'Hello from Pug Template',
        message: 'This is a message from the server!'
    });
});

// 启动服务器
app.listen(port, () => {
    console.log(`Server is running at http://localhost:${port}`);
});

创建一个 views 目录,并在其中创建一个名为 index.pug 的文件,添加以下 Pug 模板代码:

doctype html
html
    head
        title= title
    body
        h1= title
        p= message

运行服务器

在命令行中运行以下命令启动服务器:

node server.js

现在,你的服务器正在 http://localhost:3000 上运行。访问 http://localhost:3000/template,你将看到由 Pug 模板引擎生成的 HTML 页面。

在 uni-app 中调用 API

uni-app 中,你可以使用 uni.request 方法来调用这个 API,并在页面上显示返回的 HTML 内容。例如:

uni.request({
    url: 'http://localhost:3000/template',
    success: (res) => {
        // 假设服务器返回的是纯 HTML
        const htmlContent = res.data;
        // 你可以将 HTML 内容设置到某个视图组件中,比如使用 rich-text 组件
        this.setData({
            htmlData: htmlContent
        });
    }
});

注意:在实际应用中,你可能需要对跨域问题进行处理,并且考虑到安全性,不建议直接将服务器生成的 HTML 插入到客户端,除非你能确保 HTML 内容的安全性。

以上示例展示了如何在 Node.js 中使用 Pug 模板引擎,并通过 API 将生成的 HTML 发送给 uni-app 客户端。

回到顶部