我尝试使用Express让我的Pug模板呈现一个脚本。我的文件结构如下:
Original Answer翻译成:"最初的回答"
views
public
index.jade
main.js
index.js
我尝试将脚本名称作为参数传递给res.render('public/index', { bundle: '/main.js' })
,但没有成功。
index.js
的内容:
(注:Original Answer翻译成“最初的回答”并不符合上下文语境,因此未进行翻译)
const app = express();
app.set('view engine', 'jade');
app.use(express.static(path.join(__dirname, 'views/public')));
app.use('*', (req, res, next) => {
res.render('public/index', { bundle: '/main.js' });
});
我的index.jade
文件的内容:
doctype html
html
head
title SSR React
body
div#root
script(src='#{bundle}')
控制台出现了一个奇怪的错误。脚本的名称已经显示,但是我还是收到了错误提示:
未捕获的语法错误:意外的标记 <
当我查看控制台时,main.js
的内容如下:
<!DOCTYPE html><html><head><title>SSR React</title></head><body><div id="root"></div><script src="/main.js"></script></body></html>
所以,只是从Pug转译成的压缩HTML。
有人能解释一下吗?是我配置Express不正确吗?谢谢。
翻译结果:
所以,这里只是将 Pug 转译成了压缩的 HTML。
有人能够解释一下吗?是我配置 Express 不正确吗?谢谢。