Node.js & Mustache.js:如何将服务器端渲染与客户端 mustache 模板分开?
Node.js & Mustache.js: How to separate server-side rendering than client-side mustache templating?
我尝试在验证 home.html
中的表单后使用服务器端呈现 second.html
,然后将 mustache.js 保留为用户 second.html
中的模板(更新)部分验证其中的新表单(多次)。
问题:html 从服务器端呈现参数,但将 mustache 中的参数视为空字符串
我知道 mustache 可以同时用于服务器端和客户端,但我没有在服务器文件中使用 mustache
服务器端文件
var serverSideParameter = 'server'
res.render('chat.html', { serverSideParameter })
客户端文件
var clientSideParameter = 'client'
const html = Mustache.render(Template, { clientSideParameter })
document.querySelector('#Container').innerHTML = html;
html 文件
<div id="Container"></div>
<p> {{serverSideParameter}} </p>
<script id="Template" type="text/html">
<p> {{clientSideParameter}} </p>
</script>
输出:
<div id="Container">
<p></p>
</div>
<p>server</p>
期望的输出:
<div id="Container">
<p>client</p>
</div>
<p>server</p>
我找到了解决方案
将它们定义到客户端js文件中
res.send()
对我不起作用
我尝试在验证 home.html
中的表单后使用服务器端呈现 second.html
,然后将 mustache.js 保留为用户 second.html
中的模板(更新)部分验证其中的新表单(多次)。
问题:html 从服务器端呈现参数,但将 mustache 中的参数视为空字符串
我知道 mustache 可以同时用于服务器端和客户端,但我没有在服务器文件中使用 mustache
服务器端文件
var serverSideParameter = 'server'
res.render('chat.html', { serverSideParameter })
客户端文件
var clientSideParameter = 'client'
const html = Mustache.render(Template, { clientSideParameter })
document.querySelector('#Container').innerHTML = html;
html 文件
<div id="Container"></div>
<p> {{serverSideParameter}} </p>
<script id="Template" type="text/html">
<p> {{clientSideParameter}} </p>
</script>
输出:
<div id="Container">
<p></p>
</div>
<p>server</p>
期望的输出:
<div id="Container">
<p>client</p>
</div>
<p>server</p>
我找到了解决方案
将它们定义到客户端js文件中
res.send()
对我不起作用