TOGOUTECH

javascript - 无法在 Express 中呈现 swig 模板

coder 2025-02-18 原文

所以我正在尝试使用 consolidate.js渲染 swig templates使用 express,但是当我尝试从另一个模板“扩展”一个模板时出现以下错误:

Error: ENOENT, no such file or directory '//one.html

在我的 app.js 文件中,我将 swig 设置为我的渲染引擎(仅包括相关代码):

var consolidate = require('consolidate');

app.set('view engine', 'html');
app.set('views', __dirname + '/views');
app.engine('.html', consolidate.swig);

app.get('/test', function(req, res) {
    res.render('two');
});

我有一个基本模板,one.html:

<h3>My Site</h3>
{% block content %}
    Welcome
{% endblock %}

然后是一个继承模板,two.html:

{% extends 'one.html' %}

{% block content %}
    This is an inner page.
{% endblock %}

那么为什么 swig 会寻找路径为 //one.htmlone.html(就像上面的错误一样?)感谢您的帮助。

最佳答案

在查看 swig 文档(特别是 section on usage with Express )后弄清楚了。我所要做的就是初始化 swig,并告诉它在哪里寻找“扩展”模板:

var consolidate = require('consolidate'),
    swig = require('swig');

app.set('view engine', 'html');
app.set('views', __dirname + '/views');
app.engine('.html', consolidate.swig);

app.get('/test', function(req, res) {
    res.render('two');
});

/* Tell swig where to look for templates when one extends another. */
swig.init({ root: __dirname + '/views' });

关于javascript - 无法在 Express 中呈现 swig 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13907767/

有关javascript - 无法在 Express 中呈现 swig 模板的更多相关文章

  1. javascript - 如何生成包含可动态添加和删除行的表格的 Div? - 添加了 JSfiddle - 2

    在JSFiddle中,我尝试使用javascript动态生成div。这些div将包含表格,其中最后两行可以使用添加按钮递增。我试过fiddle中的代码。ins_row()函数用于在表格中添加在div中生成的行。addEvent()函数用于生成div当单击“添加产品”按钮时,将生成一个包含一行表格的div。当点击添加按钮时,最后两行应该根据点击次数继续添加。如果直接点击div的删除按钮,则应删除整个表格和div。当直接点击生成行的删除按钮时,应该只删除该行而不是整个div。问题这里的问题是正在生成带表格的div,但我不知道如何在表格中添加行。Seeitinactionhere预期输出注意

  2. JavaScript String 对象在 jQuery.post 上被拆分成一个数组 - 2

    我正在使用jQuery执行ajax调用-其中许多都工作正常,但我在尝试向服务器发送字符串时遇到了一个奇怪的问题。我已将代码缩小为:varx=newString('updateGroup');vary='updateGroup';$.post('page.aspx',{f:x,f2:y},function(data){});然而,当它到达服务器时,请求变量如下:Request["f"]nullstringRequest["f2"]"updateGroup"stringRequest.Form.AllKeys{string[12]}string[][0]"f[0]"string[1]"f[

  3. javascript - 如何让 SignalR 与 RequireJS 一起工作? - 2

    将SignalR与集线器一起使用时,您需要包含一个src为“/signalr/hubs”的脚本-即没有.js扩展名。当我尝试将其与RequireJS一起使用时,它坚持添加“.js”扩展名,这意味着永远不会加载集线器代理。有什么想法可以阻止它这样做吗? 最佳答案 为了他人的利益回答我自己的问题:我找到了RequireJS的“noext”插件here这解决了问题。如该页面所述,这与Issue18有关的RequireJS 关于javascript-如何让SignalR与RequireJS一起工

  4. javascript - Flash 运行时在使用 PLupload 的 IE8 中不起作用 - 2

    我在$(function(){...});正文中有简单的javascript函数varuploader=newplupload.Uploader({runtimes:'html5,flash,silverlight',browse_button:'pickfiles',container:'uploader',max_file_size:'20mb',unique_names:true,multiple_queues:false,//drop_element:'dropzone',url:'/Home/Upload',flash_swf_url:'../../../Scripts/up

  5. 基于本地时钟的 Javascript 事件触发器 - 2

    我有一个场景,其中一台客户端PC将驱动多个LCD显示器,每个显示器显示一个浏览器窗口。这些浏览器窗口使用jquery显示动画循环中的不同数据。我需要确保两个浏览器可以同步旋转以完全同时旋转,否则它们将在不同时间显示动画。所以我的问题是-我可以触发jquery以根据本地PC时钟交替显示内容吗?例如每次时钟秒==0,显示版本1,每次时钟秒==30,显示版本2等等? 最佳答案 这是(根据我的经验)让计时器尽可能接近时钟时间触发的最精确方法://getcurrenttimeinmsecstonearest30secondsvarmsecs=

  6. javascript - 获取 OS Win 7 用户名 Javascript - 2

    是否可以在浏览器IE、Chrome、Firefox、Opera中使用Javascript获取Windows用户名和PCName? 最佳答案 没有。此类信息不会暴露给浏览器中的javascript引擎。 关于javascript-获取OSWin7用户名Javascript,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8802602/

  7. c# - 我怎样才能让一个禁用的控件重新启用使用 Javascript - 2

    我已经编写了一个代码来在用户单击控件时禁用控件。在我的表单上,我有一个TextBox和一个DropDown。当用户单击TextBox时,我将禁用DropDown就像单击DropDown时一样,我将禁用TextBox效果很好。但是当用户点击Disabled控件时,我想启用该控件。意味着如果我点击被禁用的TextBox我想像dropdown一样Enable..我的示例脚本如下functiontoggleDropDownList1(){vard=document.getElementById("");if(d.disabled){d.disabled=false;}else{document

  8. javascript - 如何像 jsfiddle.net 那样调整多个相邻文本区域的大小? - 2

    如何像jsfiddle.net网站一样,通过在区域1、2、3上拖动鼠标来调整textarea的大小?我的代码是:HTML:ABCDJS:$(function(){window.onresize=resize;resize();});functionresize(){varh=(window.innerHeight||(window.document.documentElement.clientHeight||window.document.body.clientHeight));vardivHight=20+$("#div_left").height();//20=bodypaddin

  9. javascript - 重变量应该放在函数之外吗? - 2

    我目前有一个运行大约200次的函数。函数如下所示:functionGetB(av,bol){varbxes=[["11","12","13","21","22","23","31","32","33"],["14","15","16","24","25","26","34","35","36"],["17","18","19","27","28","29","37","38","39"],["41","42","43","51","52","53","61","62","63"],["44","45","46","54","55","56","64","65","66"],["47",

  10. javascript - 真实世界 URL 的 URL 验证正则表达式 - 2

    我想验证给定的字符串是URL。匹配文本中的URL也很好,但不是必需的。我已经搜索并进行了实验,但到目前为止,我还没有找到可以满足这些要求的东西:不得接受在被视为链接时会带来安全风险的字符串。例如,clickme是一个有效的HTML元素,并且至少在某些浏览器中确实有效(引发警报等)。我担心如果我允许任意方案(见下文),它可能会损害安全性(如前所述,例如,此处:WhatisthebestregularexpressiontocheckifastringisavalidURL?)。必须在JavaScript中正常工作。如果它在Java中也能同样工作,那就太好了——我正在GWT中开发,所以这很

随机推荐