Tag: node.js

如何启动一个node.js服务器作为守护进程?

在Python Twisted中,有一个twistd命令可以帮助你处理与运行应用程序有关的许多事情(例如守护进程)。 你如何守护一个node.js服务器,以便它可以在当前会话closures后运行? 谢谢你的帮助

为什么mongoose总是添加一个s到我的collections名称的末尾

例如,这段代码会创build一个名为“datas”的集合 var Dataset = mongoose.model('data', dataSchema); 而这段代码会产生一个名为“users”的集合 var User = mongoose.model('user', dataSchema); 谢谢

在打字稿中书写NPM模块

我正在开发我的第一个NPM模块。 之前我曾经使用过打字稿,而且很多问题是很多模块没有可用的定义文件。 所以我认为在打字稿中写我的模块是一个好主意。 但是,我找不到任何有关如何做到这一点的最佳方法。 我发现这个相关的问题“ 我可以用coffeescript编写npm包吗? ”,其中人们build议只发布javascript文件。 但是与coffeescript文件相反,打字稿文件在打字稿应用程序中使用时可能会非常有用。 我应该在发布NPM模块时包含Typescript文件,还是应该只发布JavaScript文件并将生成的.d.ts文件提供给DefinitelyTyped?

一旦你完成,正确closuresmongoose的连接

我在一个脚本中使用mongoose,它并不意味着连续运行,而且我面对的似乎是一个非常简单的问题,但我找不到答案。 简单地说,一旦我打电话给任何发送请求mongodb的函数,我的nodejs实例永远不会停止,我必须用Ctrl + c或Program.exit()手动杀死它。 代码大致如下所示: var mongoose = require('mongoose'); // if my program ends after this line, it shuts down as expected, my guess is that the connection is not really done here but only on the first real request ? mongoose.connect('mongodb://localhost:27017/somedb'); // define some models // if I include this line for example, node […]

使用发行版nodejs包(Ubuntu)将NPM安装到主目录中

我想使用分发Node.js包(或更多最新版本的chris-lea ppa ),但将NPM安装到我的主目录。 这可能看起来很挑剔,但是对于使用polyglot / github的开发人员来说,在Linux下设置语言运行时/库环境是非常习惯的方式:运行时的distro包,每个用户环境中的第三方库(参见virtualenv,RVM – RVM如果你愿意,也会为你build立Ruby)。 如果有必要,我将在本地构build节点,但是它是一个PITA,因为Node正在成为大量项目的附带开发需求。 有关将node + npm安装到主目录的说明 另一种安装node + npm到家的方法 第二个链接似乎可能与分发nodejs包,但似乎很粗略。 更新 这个粘贴总结了上面的第二个链接,但对我来说不起作用(至less在安装过程中,npm忽略〜/ .npmrc)。

Nodejs – redirecturl

如何获取node.js服务器在用户input无效url时将用户redirect到404.html页面? 我做了一些search,它看起来像大多数结果是快速,但我想写我的服务器在纯node.js。

允许CORS REST请求到Heroku上的Express / Node.js应用程序

我在node.js的快速框架上编写了一个REST API,这个框架适用于Chrome中js控制台的请求和URL栏等等。我现在试图让它适用于来自另一个应用程序的请求域(CORS)。 第一个由javascript前端自动创build的请求是/ api / search?uri =,并且在“预检”选项请求中显示为失败。 在我的快速应用程序中,我添加CORS标题,使用: var allowCrossDomain = function(req, res, next) { res.header('Access-Control-Allow-Origin', '*'); res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS'); res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization, Content-Length, X-Requested-With'); // intercept OPTIONS method if ('OPTIONS' == req.method) { res.send(200); } else { next(); } }; 和: app.configure(function () { app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(app.router); app.use(allowCrossDomain); app.use(express.static(path.join(application_root, "public"))); app.use(express.errorHandler({ dumpExceptions: true, showStack: true […]

一个单元如何testingExpress的路线?

我正在学习Node.js,并且一直在玩Express 。 真的很喜欢这个框架,但是我很难弄清楚如何编写一个path的单元/集成testing。 能够unit testing简单的模块很容易,并已与摩卡做; 然而,我的unit testingExpress表示失败,因为我传入的响应对象不保留这些值。 testing路由function(routes / index.js): exports.index = function(req, res){ res.render('index', { title: 'Express' }) }; unit testing模块: var should = require("should") , routes = require("../routes"); var request = {}; var response = { viewName: "" , data : {} , render: function(view, viewData) { viewName = view; data = viewData; […]

有没有一种方法Object.freeze()的JavaScriptdate?

根据MDN Object.freeze()文档 : Object.freeze()方法冻结一个对象:也就是说,阻止新的属性被添加到它; 防止现有的属性被删除; 并防止现有属性或其可枚举性,可configuration性或可写性被更改。 实质上,该对象是有效的不可变的。 该方法返回被冻结的对象。 我期待在一个date冻结呼叫将阻止该date的变化,但它似乎并没有工作。 这就是我在做什么(运行Node.js v5.3.0): let d = new Date() Object.freeze(d) d.setTime(0) console.log(d) // Wed Dec 31 1969 16:00:00 GMT-0800 (PST) 我会期待的调用setTime要么失败,要么什么都不做。 任何想法如何冻结date?

Node.js的validation库

有没有一个好的validation框架node.jsvalidationvariables为: 如果它的stringtypes,date,数字等 最大和最小长度 电子邮件,电话 等等…