我已尝试(并且失败)使用3个不同的Stencil包与node / express。 (stencil,stencil-js,@ stencil)。特别是,我正在寻找一个允许我进行标准表达模板渲染的包,如:
npm install stencil
.
.
app.engine('stencil', require('stencil').renderFile);
app.set('view engine', 'stencil');
.
.
app.get('/', function(req, res, next) {
// Where 'somepage' is /views/somepage.stencil
res.render('somepage', { title: 'Stencil Test' });
});
我尝试的软件包似乎用于其他目的,即没有render
函数和/或您将与app.engine()函数一起使用的回调方法。我可能会忽略这一显而易见的事情,因为Stencil似乎很受欢迎(kitura等),并且似乎与表达自然契合。
答案 0 :(得分:0)
嗯,你所说的也许你正在寻找SSR(服务器端渲染)?
您有一个关于如何使用Express
在服务器上呈现页面的示例const express = require('express');
const stencil = require('@stencil/core/server');
// create the express app
const app = express();
// load the stencil config and
// express serve-side rendering middleware
const { wwwDir, logger } = stencil.initApp({
app: app,
configPath: __dirname
});
// serve static files
app.use(express.static(wwwDir));
// set which port express it will be listening on
const port = 3030;
// start listening and handling requests
app.listen(port, () => logger.info(`server-side rendering listening on port: ${ port }`));
您可以找到有关SSR here
的更多信息