Tag: 包含

玉/帕格是否有可能使用包含语句的variables?

我正在开发nodejs应用程序,我有include语句的问题。 当我像这样使用它时,它是有效的: include ../mixins/root.pug …但是有可能在include上使用variables吗? 这些工作都不是: include #{process.env.MIXINS_PATH}/root.pug include !{process.env.MIXINS_PATH}/root.pug include `${process.env.MIXINS_PATH}/root.pug` 结果是这样的: Error: ENOENT: no such file or directory

在ejs模板引擎中包含非ejs文件

当使用ejs模板引擎和node.js并且expression时,添加没有.ejs结尾的文件是否可行? 我想把着色器放在以.glsl结尾的单独文件中。 比我想包括他们这样的: <% include /shaders/example.vertex.glsl %> 如果我使用example.vertex.glsl.ejs它的作品,但比语法高亮着色器不工作了… 我其实并不拘泥于ejs。 任何其他高速模板引擎,这将工作在罚款。 我刚刚使用了ejs,因为我已经预先使用了它。

search节点js数组与variables,返回索引或值进行部分匹配

大家好我是新来的节点和JS – 试图做一个小的不协调的通道的机器人,我有点碰壁,找不到解决scheme。 我正在尝试存储用户input数据并在稍后调用它。 到目前为止,我有这个存储数据作为JSON文件。 data[user_id] = value_set var out_data = JSON.stringify(data); fs.writeFile('users.json', out_data); 看起来像这样: {"35978432146597841":"String.1","32146879124653147":"String.2"} 现在我想根据用户的id来回想一下String.X的值。 而这就是我卡住的地方。 我想我需要读取JSON文件并将其传递给一个数组。 我想我成功地使它成为一个arrays,具有以下内容: var in_data = fs.readFileSync('users.json'); var data = JSON.parse(in_data); var arr = [] for(var i in data){ arr.push([i, data [i]]);} 作为… console.log(arr [1]); 显示:['32146879124653147','String.2'] 但我不知道如何通过用户的id(user_id)search该数组来find索引,然后拆分值,或者甚至更好地拉取值。 我试图通过user_idfind“String.X”的所有内容都失败了。 那么,如果我只知道'32146879124653147',我需要做些什么来拉动'String.2'。 任何帮助将不胜感激。 谢谢。 解 var fs = require("fs"); var in_data […]

如何将jade定义为node.js Express中的全局variables?

现在下面的路由function工作: exports.summary = function(req, res, next) { var jade = require('jade'); res.render('myView', { main: jade.renderFile('./views/summary.jade') }); }; 正如你所看到的,每当路由function被触发时,variables“jade”在本地定义。 这可能是一个性能问题。 每当我试图在全球范围内定义玉,我收到一条错误消息,说玉没有定义。 有没有办法让我在全球界定“玉”?

在生产模式下,closures模块创build的节点应用程序closures

我正在使用一个node.js应用程序的.exe已使用Enclose模块,虽然它工作正常,唯一的问题是应用程序自动closures10分钟后打开,如果闲置,没有互动。 是否因为“stream程工作时间”和“networking连接”在免费版本中有限制? 如果我订阅完整版本,应用程序是否会继续运行而不closures? 这个问题将被永久固定为用付费版本创build的exe版本,还是只有在我的订阅结束后,exe才能正常工作? 我该怎么做才能解决这个问题。 或者如果我必须select任何其他模块来启动生产节点应用程序,那么我应该select哪个模块? 任何使用节点js的Enclose模块的人都可以解决这个问题吗? 谢谢!

续集“哪里”指的是包括模特专栏

我有以下模型使用node.js与Sequelize(@ 3.3.2): module.exports = function (sequelize, DataTypes) { var Topic = sequelize.define("Topic", { name: DataTypes.STRING, }, { classMethods: { associate: function (models) { Topic.hasMany(models.Section, {as: 'sections'}); } } }); return Topic; }; module.exports = function (sequelize, DataTypes) { var Section = sequelize.define("Section", { previewImg: DataTypes.STRING, description: { type: DataTypes.TEXT, allowNull: true } }, { classMethods: […]

无法解释的“<”和双重输出在玉器包括

我正在重构我的页面,使其具有dynamic包含,将其预渲染到服务器上,并将它们传递给res.render() 但是现在,在页面上出现<和> ,包含被渲染了两次,这是我无法理解的。 routes/tips.js // … router.get('/addition/:number', function(req, res) { console.dir(renderTemplate(makePath('add/add' + req.params.number))); // shows just what i want, without extra characters res.render('tips/tipsLayout', {content: renderTemplate(makePath('add/add' + req.params.number))}); // at this point, 'content' is definitely correct. }); // … tipsLayout.jade extends ../layout block content .wrapper.col-xs-12.col-md-12.col-lg-10.col-lg-offset-1 h1= title a(href='/tips/', data-i18n="buttons.back") p(data-i18n="markup.tipsHeading") block extraJS script(src='/javascripts/tips.js', type='text/javascript') include tipsMenu.jade […]

Node.js – Socket.io客户端文件不被基本节点Web服务器提供服务

我对Node.js和Socket.io非常陌生。 我已经build立了一个非常基本的Web服务器,但使用它时,我无法加载的socket.io客户端文件(我得到一个404)。 我正在尝试使用这个客户端代码: <script src="/socket.io/socket.io.js"></script> 我的理解是,Node应该select并解决它? 它在一个更简单的Web服务器的例子。 我的networking服务器的例子不解决如下: var server = http.createServer(function (request, response) { console.log('request starting…'); var filePath = '.' + request.url; if (filePath == './') filePath = './index.html'; var extname = path.extname(filePath); var contentType = 'text/html'; switch (extname) { case '.js': contentType = 'text/javascript'; break; case '.css': contentType = 'text/css'; break; } path.exists(filePath, […]

在Node.js中使用插值EJS包括

我的快车应用程序正在使用EJS,我的视图目录如下所示: ./views ./contents home.ejs ./includes header.ejs footer.ejs layout.ejs 我试图加载home.ejs在我的layout.ejs视图有条件地基于本地variables命名contents在我的routes / index.js。 该文件看起来像这样: /* * GET home page. */ exports.index = function(req, res){ res.render('index', { title: 'Home', contents: 'home.ejs' }); }; 理想情况下,我可以简单地写(在layout.ejs中): <% include '/contents' + contents %> 尾部的“contents”是包含要加载的正文文本的相对path的局部variables。 但是,唉,看起来EJS总是按照一个include指令的字面意思解释文本,而且没有任何插值魔法发生的机会。 我也试图无济于事: <% function yieldContent(contents){ %> <% var contentPath = 'contents/' + contents; %> <% include contentPath […]

mongoose – 检查ObjectId是否存在于一个数组中

以下是一个示例模型: UserModel == { name: String, friends: [ObjectId], } friends对应于一些其他模型的对象的id列表,例如AboutModel 。 AboutModel == { name: String, } User.findOne({name: 'Alpha'}, function(error, user){ About.find({}, function(error, abouts){ // consider abouts are all unique in this case var doStuff = function(index){ if (!(about.id in user.friends)){ user.friends.push(about.id); about.save(); } if (index + 1 < abouts.length){ doStuff(index + 1) } } […]