Tag: 表示

如何在Sails.js上注册一个Handlebars partial partials文件夹?

我的Sails.js应用程序中有以下文件夹结构: assets/ myModule/ views/ partials/其中myModule是一个Backbone组件(虽然我的客户端不是一个完整的Backbone应用程序) 有一个Handlebar部分x.handlebars需要通过服务器和客户端呈现。 当客户端不能访问 views/时,我的斗争就开始了,因此无法在Backbone模块上加载它。 然后我试图将其移动到assets/myModule/templates/这将是可访问的,但现在我的主要模板views/layout.handlebars无法加载该部分,如果我尝试这样的: {{> ../assets/myModule/templates/x}} 这不起作用(我假设Handlebars使用视图/作为布局的根级别)。 在这种情况下我只能看到两种可能的解决scheme: 复制这些布局,并在每个位置使用一个(不理想,但工作) 将其放置在assets/myModules/templates/x并在Sails上注册一个Handlebars部分,以使其可用于服务器端呈现。 我怎么能做第二个解决scheme? 是否有可能注册一个全局部分的方式,我们可以做同样的方式与帮助function在config/views.js ? 我的目标是在控制器之外的configuration级别使用Handlebars.registerPartial函数,以便部分可以被其他模板重用。

多个Express路由器

我一直使用express.Router()作为路由API的前缀。 例如: var app = express(), api = express.Router(); app.use("/api", api); 现在我可以做到这一点: api.post("/contact", function(req, res){ //process contact }); 但现在我想要这些路线中的一个以上。 例如,我会这样做: var app = express(), api = express.Router(), auth = express.Router(); app.use("/api", api); app.use("/auth", auth); 不幸的是,这是行不通的。 如果我从我的Angular前端调用/auth/login ,它通过/api/auth/login 。 我怎样才能使用这样的多路由器?

有没有更好的依赖函数调用方法堆叠它们?

我使用Express路由器代码,使用Jade进行渲染,并从MongoDB中获取数据。 是否有更好的方法把所需的所有数据与下面的结构相提并论? 请注意,餐馆,客户和司机之间没有依赖关系,要求首先返回 – 我只需要在页面呈现之前执行全部三个操作。 在某些情况下,这些级联调用中的一些变得越来越深。 必须有一个更好的构造,对吗? router.get('/iframe_map/:restaurantid/:customerid', function(req, res, next) { Restaurant.findOne({'_id': req.params.restaurantid}, '-_id address name phone status lat lng LatLng marker', function(restaurantErr, restaurantDoc) { Customer.findOne({'_id': req.params.customerid}, '-_id address name phone status lat lng LatLng marker', function(customerErr, customerDoc) { Driver.find({}, '-_id letterOrdinal address firstName lastName phone status lat lng LatLng marker', {sort: {letterOrdinal: 1}}, […]

Node JS – Express.js通过多个参数来获取查询

我对JavaScript和Node JS很陌生,我有这样的情况。 当我尝试使用单个参数调用get express.js ,一切正常,但是当我尝试使用多个参数调用get时,它将修剪查询。 例如,我有这样的呼叫和function app.get('path/data', myFunc); // in another file function myFunc(req, res) { // do some stuff } 当url是path/data?id=5或path/data?name=foo一切都很好。 但是当我使用例如像path/data?id=5&name=foo url path/data?id=5&name=foo在myFunc的URL我得到的path/data?id=5 。 所以我得到了url的第一部分 – 什么是之前&签署。 现在我做错了什么? 有什么我失踪? 如何在myFunc获取整个url而不被修剪?

有angular的ui路由器没有注入到控制器的决心

我刚刚开始使用Angular和Express,面临艰难的时刻。 我来自Java背景,想学习Angular和Express,因此试图构build一个小应用程序。 我正在尝试做的 :我已经给用户一个密码重置链接,以便改变他的密码。 链接是这样的: 本地主机:9000 / RESET /:令牌 现在,我创build了一个简单的视图,其中显示了一个input框,如果令牌有效,则更改其密码,否则基于ng-show angular属性显示令牌无效时显示错误。 问题 :在我可以渲染我上面创build的视图之前,我想让ui-router检查:token是否有效。 我将在我的控制器中使用令牌的有效性信息来控制上面提到的ng-show属性。 读完这个之后,我试图利用$ stateProvider.statefunction进行parsing,以获得令牌validation的响应作为先决条件。 这将帮助我渲染实际的视图,我正在使用ng-show技术来显示错误消息或input框来更改基于ui-routerparsingpromiseObject的密码。 现在是什么问题? 那么,在我头脑太久之后,我决定在这里发表我的问题。 任何人都可以帮我吗? 我的问题: 1.我能够从api调用中获取数据/错误,但不知何故,ui-router并没有将其注入到控制器中。 谁能告诉我,我在这里做错了什么? 2.现在,如果令牌无效,我将从后端api返回404响应。 但前端的工厂方法把它作为err(这是在Node.js中预期?)和err被抛出导致deferred.reject()。 现在,如果我使用ui路由器定义,如果承诺没有解决,那么视图将不会被渲染,对吗? 有什么办法可以将这个错误也传递给我的控制器? 我要求通过err的原因是,我的视图的ng显示逻辑是基于响应代码(4xx / 2xx),这取决于我将显示错误消息还是input框。 代码片段: 调用其余api的工厂方法: isPasswordResetTokenValid: function(token, callback) { var cb = callback || angular.noop; var deferred = $q.defer(); return User.getUserByPasswordResetToken(token, function(data) { deferred.resolve(data); return cb(data); }, function(err) […]

如何切换大小写不一致的格式

switch (req.path) { case "/api/posts": console.log("posts"); break; case "/api/posts/tags/*": // the part * is always changing depending on user input console.log("tags"); break; case "/api/best": console.log("best"); break; default: console.log("default"); } req.path给出了我的path 例如 /api/post/tags/asd,dsfd /api/post/tags/1 /api/post/tags/12,123 你如何尽可能有效地pipe理? 一些框架提供了看起来像的path分析器 /* 这个和*之后的任何input都被忽略,并被视为相同。 我好奇它的内在机制。

检查在新端口上运行的应用程序

我需要创build应用程序获取特定端口的请求,并将其代理到不同端口上的新服务器 例如下面的端口3000将代理端口9000,你实际上运行在9000(应用程序引擎)的应用程序,因为客户端中的用户点击3000 HTTP://本地主机:3000 / A / B / C HTTP://本地主机:9000 / A / B / C 我尝试类似 var proxy = httpProxy.createProxyServer({}); http.createServer(function (req, res) { var hostname = req.headers.host.split(":")[0]; var pathname = url.parse(req.url).pathname; proxy.web(req, res, { target: 'http://' + hostname + ':' + 9000 }); var proxyServer = http.createServer(function (req, res) { res.end("Request received on […]

在浏览器中使用node.js,MySQL和Jade显示数据库内容

我目前正在使用Node.js,Express.js和Jade。 我的数据库是MySQL。 我是新来的node.js,所以我想我尝试了一些非常简单的方法:在浏览器的表格中显示数据库中的一些数据。 不幸的是它仍然不起作用。 我可以在一个自由端口上显示数据,但不能在我需要的端口上 – 在端口3000上。而且我也无法使用响应本身。 这是我的“解决scheme”或想法之一。 也许有asynchronous调用的问题? 我根本不知道。 这是我的代码: routes.js var express = require('express'); var controller = express.Router(); var dataModel2 = require('../models/rooms'); controller.get('/rooms', function(req, res, next) { var rooms = dataModel2(); res.render('rooms', { items: rooms }); }); module.exports = controller; 车型/ rooms.js var rooms; var connection = require('./databaseConnection'); var http = require('http'); rooms […]

为每个路线重新加载浏览器(Express + gulp + Browsersync)

我已经build立了一个快速生成器生成一个简单的快速Web服务器如下: express test -ejs 一切工作正常,我有以下文件夹(几个变化): 我现在想要实现的是: – 对于我正在“/routes/*.js”和“./*.js”中处理的每个文件,保存重新加载服务器和浏览器 – 对于“/ views”和“/ public”中的每个文件,只保存重新加载浏览器 为此,我在代理模式下设置了一个带浏览器同步的gulp file.js,如下所示: var server = require('gulp-develop-server'); var bs = require('browser-sync').create(); (some tasks for checking js and less …) var options = { server: { path: './bin/www', execArgv: ['–harmony'] }, bs: { proxy: { target: 'http://localhost:5000', middleware: function (req, res, next) { console.log(req.url); next(); […]

错误:运行post时不正确的标题检查

我需要从rest电话(用于模拟我使用邮递员与二进制选项的邮件,并添加一个文件夹和HTML文件的一个小zip文件),在模拟过程中我想要获取数据与快递和提取zip并放在C盘下的一些文件夹。 目前,当我运行下面的程序(这是我试过的所有代码),但即时通讯错误 events.js:85扔呃; //未处理的错误事件^错误:在Zlib._handle.onerror(zlib.js:366:17) var express = require('express'), fs = require('fs'), zlib = require('zlib'), app = express(); app.post('/', function (req, res) { var writeStream = fs.createWriteStream('C://myFolder', {flags: 'w'}); req.pipe(zlib.createInflate()).pipe(writeStream); }); var server = app.listen(3000, function () { console.log("Running on port" + 3000) } ) 在邮差头我已经添加了以下内容 content-Type —-> application/zip 我应该如何克服这个问题,并保存压缩? 还有其他推荐(zlib)库来获取提取和保存压缩?