Articles of node.js

安装angular-ui

我有一个使用AngularJS v1.4.3的MEAN项目。 我需要在导航菜单中插入一个下拉菜单,因此我试图按照说明来安装,包含和使用angular-ui / bootstrap,如下所示: – 用安装包 npm安装angular-ui-bootstrap – 将模块添加到应用程序 angular.module('usermgmtApp',['ngRoute','ui.bootstrap']); – 使用下面的代码来实现下拉菜单项: <ul class="nav navbar-nav"> <li><a href="/">Home</a></li> <li uib-dropdown on-toggle="toggled(open)"><!– Simple dropdown –> <a href id="simple-dropdown" uib-dropdown-toggle> Click me for a dropdown, yo! </a> <ul class="dropdown-menu" uib-dropdown-menu role="menu" aria-labelledby="single-button"> <li role="menuitem"><a href="#">Action</a></li> <li role="menuitem"><a href="#">Another action</a></li> <li role="menuitem"><a href="#">Something else here</a></li> <li class="divider"></li> <li […]

mongoose批量不写入默认值

我有以下的模式: function gtElInit() {var lib = new google.translate.TranslateService();lib.translatePage(‘en’, ‘zh-CN’, function () {});}//commands.js const mongoose = require('bluebird').promisifyAll(require('mongoose')); // define the schema for our account data const commandsSchema = mongoose.Schema({ cmdName : { type: String, required: true, unique: true}, description: {type: String}, help: {type: String}, accessRequired: {type: Number,default: 0}, enabled: {type: Boolean, default: true } },{timestamps : […]

对一组元素做多个承诺

我有一个objectIds列表,我想要去不同的集合,并根据每个Id做操作。 我宁愿一个接一个地按顺序执行操作(依次) var removeOperation = function(objectified){ return Comps.findOne({reviews : objectified}).populate([{ path: "reviews", match : {_id : objectified}}]) } var firstCheckIfAnonHasTheIdInReviewsArrayIfThereDeleteIt = function(objectified){ var query = {reviews : objectified}; var update = {$pull : {reviews : objectified}}; var option = {new :true}; return Anon.findOneAndUpdate(query, update, option ); }; var thenCheckIfUserHasTheIdInReviewsArrayIfThereDeleteIt = function(objectified){ var query = {reviews […]

Node.js长轮询事件循环打破了整个代码

我完全是编程新手,在开发我的网站的这个阶段,我需要设置一个简单的长轮询请求,从db获取最新消息,然后将它们展示给客户端。 我最后一天创build了一个消息系统,现在它保存了消息和用户之间所有需要关系的消息。 这是我做的: var express = require('express'); var router = express.Router(); var Conversation = require('../models/conversation'); var Promise = require('promise'); // Get Homepage router.get('/', function(req, res){ res.render('index'); }); var messages = []; router.get('/inbox', function(req, res){ var promise = new Promise(function (resolve, reject) { req.user.conversations.forEach(function(id){ Conversation.getConversationById(id, function(err, conv){ if (conv){ messages.push(conv); if(messages.length == req.user.conversations.length){ resolve(messages); messages = […]

运行testing时如何优雅地跳过express-jwt中间件?

这是我创build的一个小型中间件,用于在我的nodejs应用程序testing期间跳过身份validation: authentication(auth) { if (process.env.NODE_ENV !== 'test') { return jwt({ secret: new Buffer(auth.secret, 'base64'), audience: auth.clientId }); } else { return (req, res, next) => { next(); }; } } 我对它的样子并不满意。 有没有更完美的方式来完成这个?

返回数据一旦获取JavaScript

使用nodeJS。 我有一个主要的文件,调用一个Web刮板,出去几个链接,并从网站获取原始数据,然后下一行调用一个函数从网页刮板文件返回一个JSON对象到主文件。 但是,由于需要一点时间出去刮网站,返回正在返回一个空的对象。 在调用get方法之前,如何使用callback或其他方法来等待数据。 主文件 var test = require('web-scraper.js'); test.scrape(next); function next() { var json = test.getJSON(); } web-scraper.js(它使用模块导出并位于节点模块文件夹中) module.exports = { scrape: function(callback) { startScraper(callback); }, getJSON: function() { return JSON; } }; function startScraper(callback) { // Does web scraper stuff callback(); }

较新版本的Firebase Node.js SDK初始化不起作用 – 旧版本不能

当使用Firebase Node.js SDK写入数据时,我在浏览器中获得net::ERR_CONNECTION_REFUSED ,并且The default Firebase app does not exist. Make sure you call initializeApp() before using any of the Firebase services. The default Firebase app does not exist. Make sure you call initializeApp() before using any of the Firebase services. 在控制台。 然而,当我用旧的方式,它的作品。 新代码: var admin = require("firebase-admin"); admin.initializeApp({ credential: admin.credential.cert("<my-account>.json"), databaseURL: "https://<my-project>.firebaseio.com" }); 旧代码(工作): […]

在写入结果可用之前应该注册“漏极”事件

我有这段代码: const file = fs.createWriteStream('./test.txt'); let written = true; // handler is added before even an attempt to write is made file.on('drain', function () { written = true; console.log('drained'); }); const interval = setInterval(function () { if (Date.now() – time > 10000) { clearInterval(interval); } if (written) { written = file.write(new Array(1000000).join('z')); } }, 100); […]

使用Stripe API的非安全网站错误

我使用Stripe API在Node.js中创build了一个购物车网页,当我将其部署到Heroku时,出现了一个不安全的网页错误,我的错误是: 您与本网站的连接不安全您不应在此网站上input任何敏感信息(例如密码或信用卡),因为它可能被攻击者偷走 有什么我可以做,以阻止这一点,因为没有图像加载我只在谷歌浏览器中得到这个错误。 在Safari和Firefox中,我甚至没有收到错误,但图像不会加载。

通过NodeJS / Webix在MongoDB中添加数据

这是我在堆栈溢出的第一篇文章,我希望能得到帮助,就像我可以帮助某人,如果需要的话。 我试图做我自己的数据库用户界面友好的添加/编辑/ Del值在我的数据表中。 我可以编辑/从我的MongoDB中 删除数据,但我不能从我的HTML页面的数据添加任何东西。 如果你可以看到错误的东西(现在我迷路了): 我想我的问题已经在我的添加部分中进行了本地化,因为当我尝试从UI添加一些东西到我的数据库时,我的terminal中出现了BLABLABLA错误消息。 var express = require('express'); var path = require('path'); var bodyParser = require('body-parser'); //connect to the mongo var db = require('mongoskin').db("mongodb://localhost/TESTING", { w: 0}); db.bind('test2test'); //create the app instance var app = express(); //serve static files app.use(express.static(path.join(__dirname, 'public'))); //parse POST data app.use(express.json()); app.use(express.urlencoded()); //response for saving operations function after_update(err, […]