Articles of expression

使用Express访问Node.js中的模型

我是新来的node.js,并不完全知道如何访问我的app.js文件中的模型。 我的文件结构如下: – controllers – helpers – middlewares – models – node_modules – public – tests – views app.js package.json App.js 在我的app.js我有: var express = require('express'); var app = express(); app.set('view engine', 'jade'); app.use(express.static(__dirname + '/public')); var models = require('./models'); app.get('/', function(req, res){ res.render('index', {title: 'Mosaic Viewer'}); }); app.get('/map', function(req, res){ var blockMosaicStreamer = models.BlockMosaicStreamer(); […]

LAMP和nodejs在同一台服务器上

我有一个PHP(Laravel框架)应用程序和一个nodejs应用程序。 nodejs应用程序用于将推送通知与socket.io一起发送给用户浏览器。由于PHP不是长轮询过程的更好解决scheme,因此必须将node.js应用程序包含到我的堆栈中。 我只使用nodejs来实现单个function(向来自我的页面的用户显示一些实时数据)。 我可以期望一个1000的并发连接,所以我避免使用PHP的Ajax长轮询,并使用nodejs处理长轮询与socket.io 现在我很困惑是否部署我的PHP应用程序和nodejs应用程序会导致任何问题? 我的PHP应用程序将通过内部API与nodejs应用程序进行通信。 在性能方面在LAMP堆栈上部署nodejs可以吗? 在nodejsstream量点击(长轮询)过程是否影响我的服务器,并影响我的PHP应用程序?

从JavaScript中的string中提取MAC地址

我有一个node.js应用程序,需要从string中提取MAC地址。 var str = "bridge=vmbr1,virtio=32:65:63:62:36:35"; 问题在于string是dynamic的 – 它并不总是以这种格式。 它也可能显示为… var str = "bridge=vmbr1,virtio=32:65:63:62:36:35,firewall=1"; …之间的许多其他变化。 出于这个原因,使用像split或者substring这样的东西是行不通的。 我想我可能需要使用一些正则expression式来提取string中的32:65:63:62:36:35部分。 任何帮助表示赞赏。

匹配Express中的所有路线,但是“/”

我试图通过检查cookie为我的应用程序创build一个身份validation机制。 所以我添加了router.all('*')来匹配每个请求,检查cookie,然后转到实际的处理程序。 但是我只需要匹配“/”后面有一个或多个字符的请求。 (我想匹配/manage , /m或/about ,但不是/ )。 //Assuming a request for '/', this gets called first router.all('*', function (request, response, next) { //Stuff happening next(); }); //This gets called on next(), which I do not want router.get('/', function (request, response) { //Stuff happening }); //However this I do want to be matched when requested […]

node.js中的url的正则expression式表示路由

我正在构build使用正则expression式进行路由的node.js服务器。 必须使用正则expression式在node.js中捕获的URL www.domain.com/people-images-taken-on-December-05-2011/ url The people-images-taken-on-被固定。 我只想捕捉月份,date和年份。 我将像下面一样捕获上面的URL app.get('/people-images-taken-on-{only alphabets}-{2 digits}-{4 digits} ', 我发现正则expression式每个模式分开 allows only alphabets – [a-zA-Z]+$ allows a 4 digits value – (\\d){4} allows a 2 digits value – (\\d){2} 我试图把所有的东西结合起来,但是我失败了很多次。 任何一个可以为url patern提供正确的正则expression式吗? 也有人可以告诉我这种基于正则expression式的path处理是处理date的好方法吗?

sequelize DataTypes TypeError:无法读取未定义的属性“INTEGER”

定义模型时,我有一个续集DataTypes.INTEGER问题。 我在电子书中标题为“使用Node.js构buildAPI”的示例。 我是一个试图抓住快递和续集的新手。 任何帮助非常感谢。 谢谢。 错误详情: > /home/xxx/workspace/ntask-api/models/tasks.js:9 > type: DataTypes.INTEGER, > ^ TypeError: Cannot read property 'INTEGER' of undefined > at Function.module.exports (/home/xxx/workspace/ntask-api/models/tasks.js:9:21) > at Consign.into (/home/xxx/workspace/ntask-api/node_modules/consign/lib/consign.js:239:17) > at Object.<anonymous> (/home/xxx/workspace/ntask-api/index.js:13:5) > at Module._compile (module.js:456:26) > at Object.Module._extensions..js (module.js:474:10) > at Module.load (module.js:356:32) > at Function.Module._load (module.js:312:12) > at Function.Module.runMain (module.js:497:10) > at startup […]

无法从不同的networkingexpress.js进行连接

我正在尝试使用node.js和express.js。 当我尝试从我的networking中的任何一台计算机连接到我的Web服务器时,它可以正常工作,但是当我尝试从外部networking连接时,连接超时。 var app = require('express')(); var http = require('http').Server(app); app.get('/', function(req, res) { res.send("Hello World"); }); http.listen(3000, '0.0.0.0', function() { console.log("Listening on port 3000!"); });

TypeError:比较数组时,无法读取未定义的属性“0”?

我有一个具有JSON值的数组 category = [ {"categoryName":"abcd","productName":"chicken biriyani","price":100,"quantity":"medium"}, {"categoryName":"biriyani","productName":"mutton biriyani","price":130,"quantity":"medium"} ] 我必须检查上述类别数组所需的参数。 所以我创build了一个必需的参数数组。 var reqarray = ['categoryName','productName','price','quantity']; 我创build了用于检查reqarray的值和类别的每个值的示例代码,但它不工作 var categoryList = [ {"categoryName":"abcd","productName":"chicken biriyani","price":100,"quantity":"medium"}, {"categoryName":"biriyani","productName":"mutton biriyani","price":130,"quantity":"medium"} ]; for(var i in categoryList){ var reqarray =['categoryName','productName','price','quantity']; for(var j in arr){ if(categoryList[i].reqarray[j]=='null' || categoryList[i].reqarray[j] == " "){ console.log("data is null"); } else if(categoryList[i].reqarray[j] == undefined){ console.log("required parameters"); } else{ console.log("ok"); […]

只更新sequelize中的一行

我使用Sequelize作为ORM与express.js以下是我的简约表结构。 Id status phone 1 0 09620701828 2 0 09620701828 现在,当一个API请求是在一个端点上,那么我必须更新属于我从请求中获得的特定电话的最后一个ID的状态。 原始的MySql查询将为UPDATE table SET status=1 where phone='09620701828' ORDER BY id DESC LIMIT 1; 我如何使用Sequelize更新方法来实现相同的function。 以下是我所尝试过的 models.customerLeadFeedback.update( {status: 1}, { where: {phone : '09620701828'}, order: [['id', 'DESC']], limit : 1 }).then(function () { res.sendStatus(200); })` 但子句顺序不工作以上和更新状态为ID 1.任何人都可以帮助我,而不使用原始查询sequelize 。

在Javascript中循环使用正则expression式匹配

我很慢学习Javascript,并且难以在正则expression式匹配上实现for循环。 我正在express.js设置工作,在我的index.js有以下内容 var express = require('express'); var router = express.Router(); // the text block against which I am running the regex var para = "We have insisted on strict scrutiny in every context, even for so-called “benign” racial classifications, such as race-conscious university admissions policies, see Grutter v. Bollinger, 539 US 306, 326 (2003), race-based […]