Tag: node.js

如何存储Node.js部署设置/configuration文件?

我一直在研究几个Node应用程序,并且一直在寻找一种存储与部署相关的设置的好模式。 在Django的世界(我来自哪里),通常的做法是使用包含标准设置(时区等)的settings.py文件,然后使用local_settings.py作为部署特定的设置。 什么数据库交谈,什么memcache套接字,pipe理员的电子邮件地址等等。 我一直在寻找类似的节点模式。 只是一个configuration文件将是很好的,所以它不必与app.js中的所有其他东西卡在一起,但是我发现重要的是有一种方法来在不在源代码控制中的文件中进行特定于服务器的configuration。 同样的应用程序可以很好地部署在不同的服务器上,具有非常不同的设置,并且必须处理合并冲突以及所有这些都不是我的乐趣。 那么是否有这样的框架/工具,还是每个人都只是自己一起黑客?

我怎样才能返回承诺的状态?

我开始学习使用loopback和jsforce的承诺,并不能解决这个问题。 我不能返回状态var内的承诺cb()函数。 基本上我想连接salesforce并通过JSforce获取数据,并通过回送将其写入数据库。 然后想要远程调用返回创build/更新/错误logging到客户端。 我正在通过使用Node.JS&Express.js Loopback开发我正在使用JSforce库连接salesforce 我该如何解决这个问题? 这是我的代码: module.exports = function(Contact) { var jsforce = require('jsforce'); var async = require("async"); var lr = require('lr.js'); Contact.ImportContacts = function(cb) { // Salesforce Projects List var sf_projects = []; //Salesforce Conn String var conn = lr.SalesforceConn(); conn.apex.get("/Contact/", function(err, res) { var status = { "Created": [], "Updated": [], […]

REPL和脚本之间的“这个”是不同的

读完mozilla文档后,我发现这个: 在全局执行上下文(在任何函数之外),这是指全局对象,无论是否在严格模式下。 玩了一段范围后,我发现在node.js REPL … > this === global true 但是当我用同一行创build一个脚本… $ cat > script.js console.log(this === global) $ node script.js false 这是有原因吗? 或者是一个错误?

使用react-router和webpack响应改变的URL给页面找不到错误

我有以下webpackconfiguration文件: var webpack = require('webpack'); var path = require('path'); var BUILD_DIR = path.resolve(__dirname, 'src/client/public'); var APP_DIR = path.resolve(__dirname, 'src/client/app'); var config = { entry: [ APP_DIR + '/config/routes.jsx', 'webpack/hot/dev-server', 'webpack-dev-server/client?http://localhost:8080' ], output: { publicPath: 'http://localhost:8080/src/client/public/' }, module : { loaders : [ { test: /\.jsx?$/, loader: 'babel-loader', include: APP_DIR, exclude: /node_modules/, query: { presets: ['es2015'] […]

在NodeJS Express中删除路由映射

我有一个路线映射为: app.get('/health/*', function(req, res){ res.send('1'); }); 如何在运行时删除/重新映射这个路由到一个空的处理程序?

mongoDB / mongoose:如果不为null,则为唯一

我想知道是否有办法强制一个唯一的收集入口, 但只有入境不为空 。 e示例架构: var UsersSchema = new Schema({ name : {type: String, trim: true, index: true, required: true}, email : {type: String, trim: true, index: true, unique: true} }); 在这种情况下,“电子邮件”不是必需的,但如果保存“电子邮件”,我想确保此项是唯一的(在数据库级别)。 空条目似乎得到的值为'空',所以没有电子邮件崩溃与'唯一'选项(如果有一个不同的用户没有电子邮件)每个条目。 现在我正在解决它的应用程序级别,但很想保存数据库查询。 谢谢

Node.js – 使用Express获取原始请求主体

当我使用Express时,我的代码是: app.use(express.bodyParser()); 我将如何获得原始请求的身体 ?

修复Windows 8中的npmpath

已经做了大量的search,尝试使用官方安装程序重新安装node.js,但我的NPMpath仍然无法正常工作。 这不起作用 npm install foo 我收到一条错误消息,说缺less模块npm-cli.js 2小时后,我发现了一个解决方法 我input的不是简单的“ npm ” node C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js 但是,我怎样才能纠正我的nodejs安装,所以我可以简单地input'npm'?

NodeJS写入base64映像文件

我的NodeJS服务器接收一个图片base64编码。 data:image/jpeg;base64,/9j/4QCcRXhpZgAASUkqAAgAAAA … CiiigD//Z 接收到的数据应该保存为jpg。 因此我使用了一个Buffer和FileSystemWriter: var imageBuffer = new Buffer(data, 'base64'); //console = <Buffer 75 ab 5a 8a … fs.writeFile("test.jpg", imageBuffer, function(err) { //… }); fs.writeFile不会调用一个错误。 一个JPEG文件被保存,但我无法打开它。 Image-Viewer说: File is damaged or too big. 原始文件是6kb大,新文件7kb。

NodeJS真的是单线程吗?

Node.js通过使用事件循环而不是线程来将基于事件的模型放在其核心上,从而解决了“每个连接问题一个线程”的问题。 所有昂贵的I / O操作总是与启动操作完成时执行的callbackasynchronous执行。 如果任何操作发生,观察是由像epoll()这样的复用机制来处理的。 我现在的问题是: 为什么不使用阻塞SystemJall阻止NodeJS阻塞select / epoll / kqueue? 或者根本不是NodeJS单线程,所以第二个线程是 必须用select / epoll / kqueue观察所有的I / O操作?