Tag: node.js

“/ usr / bin / env节点”到底在节点文件的开始处做了什么?

我曾经在nodejs的一些例子的开头看过这行#!/usr/bin/env node ,并且我没有find可以回答该行的原因的任何主题。 单词的性质使得search不那么容易。 我最近读了一些javascript和nodejs书,我不记得在其中任何一本。 如果你想要一个例子,你可以看到RabbitMQ官方教程 ,几乎所有的例子都有它,下面是其中的一个例子: #!/usr/bin/env node var amqp = require('amqplib/callback_api'); amqp.connect('amqp://localhost', function(err, conn) { conn.createChannel(function(err, ch) { var ex = 'logs'; var msg = process.argv.slice(2).join(' ') || 'Hello World!'; ch.assertExchange(ex, 'fanout', {durable: false}); ch.publish(ex, '', new Buffer(msg)); console.log(" [x] Sent %s", msg); }); setTimeout(function() { conn.close(); process.exit(0) }, 500); }); 有人能解释一下这条线的含义吗? 如果我放置或删除此行,有什么区别? […]

ReferenceError:找不到variables:__fbBatchedBridge

使用react-native init AwesomeProject的默认代码,当我运行应用程序时,出现'ReferenceError:Can not find variable:__fbBatchedBridge(生成的包中的第1行)'。 而且,当我“重新加载JS”时,应用程序只有白色的背景,而不是任何'你好世界'的意见。 我没有触及init的任何代码。 任何想法如何解决错误? 截图(点击查看完整大小): 使用: Ubuntu 15.10,64位 Node.js v5.3.0 反应本机v0.1.7 Nexus 5X,API 6.0.1

如何获得MongoDB的callbackcollection.find()

当我在MongoDB / Node / Express中运行collection.find()时,我想在完成时得到一个callback。 这是什么正确的语法? function (id,callback) { var o_id = new BSON.ObjectID(id); db.open(function(err,db){ db.collection('users',function(err,collection){ collection.find({'_id':o_id},function(err,results){ //What's the correct callback synatax here? db.close(); callback(results); }) //find }) //collection }); //open }

为什么要使用Express而不是AngularJS?

据我所知,Express存放在服务器上,而Angular存在于客户端,但据我所知,Angular可以做Express所能做的一切, 路由 与数据库进行交互 这似乎可能需要快递为了一个AngularJS应用程序由Node.js服务,但我不知道。 那么,将Express添加到AngularJS应用程序有什么好处?

PM2中的簇和叉模式差异

我已经搜寻了很多想知道这个问题,但我没有得到明确的解释。 是否只有一个区别的事情,聚集的应用程序可以扩大和分叉应用程序不能? PM2的公共站点解释集群模式可以做这些function,但没有人说Fork模式的优点(也许它可以得到NODE_APP_INSTANCEvariables)。 我觉得Cluster可能是Fork的一部分,因为Fork似乎被普遍使用。 所以,我认为Fork意味着从PM2的angular度来说就是“分叉的过程”,而Cluster则意味着“能够被扩展的分叉过程”。 那么,为什么我应该使用叉模式?

nodejs加载文件

我想用nodejs加载test.txt。 var fs = require('fs'); fs.readFile('./test.txt', function (err, data) { if (err) { throw err; } console.log(data); }); 服务器的path是C:\server\test\server.js 。 test.txt位于相同的目录,但我得到这个错误: Error: ENOENT, no such file or directory 'C:\Users\User\test.txt'

使`npm install –save`为package.json添加一个严格的版本

当你运行npm install –save somepackage ,通常会在package.json中添加如下内容: "dependencies": { "somepackage": "^2.1.0" } 由于版本前面加了一个插入符(^),这意味着如果以后运行npm install ,则可能会安装2.3.0版本。 由于相当明显的原因,这可能是不希望的。 npm shrinkwrap是有用的,但并不真正解决问题。 所以,我有几个问题: 安装包时,是否可以指定要将其设置为package.json中的特定版本(在版本号之前不加脱字符)? 当发布一个包到npm时,有没有什么办法可以防止在其他开发者安装你的包的时候在版本之前默认包含脱字符?

如何通过NodeJs应用程序和模块正确地重用连接到Mongodb

我一直在阅读和阅读,仍然困惑于什么是跨整个NodeJs应用程序共享同一个数据库(MongoDb)连接的最佳方式。 据我所知,连接应该是开放时,应用程序启动和重用模块之间。 我目前的想法是最好的方法是server.js (所有东西都开始的主文件)连接到数据库,并创build传递给模块的对象variables。 一旦连接,这个variables将被模块代码使用,并且这个连接保持打开状态。 例如: var MongoClient = require('mongodb').MongoClient; var mongo = {}; // this is passed to modules and code MongoClient.connect("mongodb://localhost:27017/marankings", function(err, db) { if (!err) { console.log("We are connected"); // these tables will be passed to modules as part of mongo object mongo.dbUsers = db.collection("users"); mongo.dbDisciplines = db.collection("disciplines"); console.log("aaa " + users.getAll()); […]

如何正确closuresnode-express服务器?

我需要在从/auth/github/callback url获得callback后closures服务器。 与通常的HTTP APIclosures服务器目前支持与server.close([callback]) API函数,但与节点快递服务器我得到TypeError: Object function app(req, res){ app.handle(req, res); } has no method 'close' TypeError: Object function app(req, res){ app.handle(req, res); } has no method 'close'错误。 而且我不知道如何find信息来解决这个问题。 我应该如何closures快递服务器? NodeJSconfiguration说明: $ node –version v0.8.17 $ npm –version 1.2.0 $ npm view express version 3.0.6 实际应用代码: var app = express(); // configure Express app.configure(function() { […]

如何在node.js中的“require”之后移除模块?

比方说,我需要一个模块后,做一些事情如下: var b = require('./b.js'); — do something with b — 然后我想拿走模块b(即清理caching)。 我怎么能做到这一点? 原因是我想在不重新启动节点服务器的情况下dynamic加载/删除或更新模块。 任何想法? ——-更多——–根据build议删除require.cache,它仍然不起作用… what I did are few things: 1) delete require.cache[require.resolve('./b.js')]; 2) loop for every require.cache's children and remove any child who is b.js 3) delete b 但是,当我打电话给b,它仍然在那里! 它仍然可以访问。 除非我这样做: b = {}; 不知道这是否是一个好办法。 因为如果后来,我再次需要('./b.js'),而b.js已被修改。 它会需要旧的cachingb.js(我试图删除),还是新的? ———–更多发现————– 好。 我做更多的testing,并与代码玩…这里是我发现: 1) delete […]