Articles of swig模板

如何使查询结果可以从所有页面访问

我试图能够通过一个variables传递给我的模板,我可以让它为单个页面工作,但我需要find一种方法来访问它的任何页面的结果。 原因是它是需要我的侧边栏是一个模板的一部分。 我的模板是 include header include sidebar content include footer 这只是sudo代码,显然不是我的实际代码。 我需要包括的查询是: Item.count({"author.id":req.user.id}, (err, itemCount)=>{ if(err){ console.log(err); } else { var Count = JSON.stringify(itemCount); // somehow I need to store Count to be accessible inside my sidebar } }); 我知道我可以把每个路由查询,但有没有办法,我可以做只有login的用户,并把它放在中间件或东西或sorting? 我现在把它存储在每个路由中,但我知道这不是DRY代码,更新它将是一个巨大的痛苦,因为我有超过50个我处理的路线。 我典型的路线是: // dashboard app.get('/dashboard', setRender('dashboard/index'), setRedirect({auth: '/login'}), isAuthenticated, (req, res, next) => { }, […]

如何更改.twig的node.js swig模块扩展名

我的模板文件的扩展名是.html,我不能使用需要.twig扩展名的IDE的自动完成function

为什么我的swig模板不能在我的MEAN web应用程序中渲染?

我正在学习与Swig模板一起的MEAN堆栈 。 我从头开始编写代码,因为我尝试了一个MEAN框架,但是它产生了很多文件,对我来说太多了。 目前我的Swig模板index.html不会呈现HTML。 这是我得到的输出: {% include 'header.html' %} <br>Welcome to my test website 正如我期待的那样 This is coming from Header <br>Welcome to my test website 为什么不渲染? 以下是我的文件夹结构: –config -config.js –node_modules -* //modules installed via npm link –public -header.html -index.html -package.json -routes.js -server.js 以下是每个文件的内容 config.js var port = process.env.PORT || 8080; module.exports = { dburl: 'mongodb://localhost/test', […]

在Swig模板引擎中进行循环

我正在使用Swig作为Express.js的模板引擎,我发现没有办法使用像这样的variables进行循环: for(var i=0; i<100; i++){ //whatever } 这甚至有可能吗?

将string参数从node.js传递给C ++代码(使用SWIG)

我想调用一个用Javascript代码传递string参数的C ++编写的方法。 我find的解决scheme是使用Node.js和SWIG来生成绑定。 我遵循这里的例子(请参阅enobayram post): 如何使用node.js中的C ++库? C ++方法如下所示: Handle<Value> CMyClass::Open(const v8::Arguments& args) { HandleScope scope; std::string port(*v8::String::Utf8Value(args[0])); std::cout << port << std::endl; return scope.Close(Undefined()); } 从Node.js控制台: var toto = require("./build/Release/MyClass") var c = new toto.CMyClass() c.Open("test") Error: in method 'CMyClass_Open', argument 2 of type 'v8::Arguments const &' at repl:1:4 at REPLServer.self.eval (repl.js:110:21) at Interface.<anonymous> […]

phpstorm使用swig模板引擎?

如何在JetBrains PhpStorm 8.0.2中安装或configurationSWIG模板引擎? 我有: “PhpStorm”:8.0.2 “node.js”v0.10.36 “expression”:4.10.6 “swig”:1.4.2 我如何使我的PhpStorm swig模板设置?

如何使用swig node js在variables中设置JSON对象?

我想用swig在客户端JavaScript中设置一个JSON对象。 我试过用swig的jsonfilter,但它只是打印JSON对象不分配。 在Javascript中,我们知道这个引导variables在整个应用程序中是全局访问的。 但我无法设置JSON对象。 我试过这个var bootstrap = "{{locals.bootstrap}}" 引用链接 。 但是它的任何属性都不是用于json对象的,它只是在bootstrap中设置“[object,object]”而不是json对象。 我尝试用swig 关联的 jsonfilter,但没有成功。

与NodeJS的MongoDB连接错误

我目前正在尝试使用MongoDB,Express,Swig和NodeJS的一个简单的Hello World应用程序 使用最新的节点和其他依赖项。 Chrome 46.0(64位)。 Mac OS X 10.9.5 以下是我的app.js代码 var express = require('express'), app = express(), cons = require('consolidate'), MongoClient = require('mongodb').MongoClient, Server = require('mongodb').Server; app.engine('html', cons.swig); app.set('view engine', 'html'); app.set('views', __dirname + '/views'); var mongoclient = new MongoClient(new Server("localhost", 27017, {'native_parser':false})); var db = mongoclient.db('course'); app.get('/', function(req, res){ // Find one document in […]

将文档字段呈现为HTML

我使用NodeJS,Express,MongoDB和Swig创build我的第一个示例代码。 这是一个小型的博客应用程序,我试图呈现现有的post,但是,post正文包含HTML标签,它们被打印为文本。 我怎样才能把它们呈现为HTML? 这是我的看法(main.html): <p> <h3>{{title}}</h3> <h6><i>{{postedAt}}</i></h6> </p> <p> {{content}} </p> 这里是app.js: var express = require('express'); var cons = require('consolidate'); var app = express(); var MongoClient = require('mongodb').MongoClient; var Server = require('mongodb').Server; app.engine('html', cons.swig); app.set('view engine', 'html'); app.set('views', __dirname + '/views'); var mongoClient = new MongoClient(new Server('localhost', 27017, { 'native_parser' : true })); var db […]

nodejs + express + swig:如何在呈现之前检查请求?

说实话,我真的不知道nodejs,express和swig是如何工作的。 我有这个代码似乎提供了所有的我的HTML页面 app.engine('html', swig.renderFile); app.set('view engine', 'html'); app.set('views', __dirname+'/html'); 我希望能够在返回HTML文件之前检查请求。 具体来说,我想检查用户是否使用旧版本的IE,并将其redirect到另一个页面。 现在,我可以检查请求并redirect特定的页面,如此 app.get('/veryspecificpage.html', function(req, res) { if( isBadBrowser(req) ) { res.writeHead(302, { 'Location': 'browserError.html' }); res.end(); } else { res.render('veryspecificpage', {}); }); }) 但是我不想为每个.html页面指定这个。 我如何拦截请求,并为所有的HTML页面做到这一点?