Articles of node.js

在networking驱动器上的appendFile EPERM

应用程序必须将日志数据存储到networking驱动器。 当驱动器在Windows下托pipe时,一切正常。 当驱动器在Mac下托pipe时,读/写是正常的,但附加得到EPERM,所以日志根本不起作用。 代码是相当微不足道的 fs.appendFileSync('xxx.txt', 'zzzzzzzz'); 如何正确追加数据? 该文件通常太大,无法加载到内存中。 更新:读写删除创build是好的! 只有打开与追加失败

Docker:如何使用selenium服务器做nightwatchJStesting?

我不知道如何使用我的./bundle应用程序来运行selenium服务器,它的文件位于自定义e2e:latest的./bundle文件夹中。 我想我必须将selenium服务器和webdriver chrome添加到e2e:latest的Dockerfile中e2e:latest图像,不是吗? 这是我迄今为止所做的: 我用NodeJS和nightwatchJS创build了一个基于java:8-jre的docker镜像: Dockerfile FROM java:8-jre ## Node.js setup RUN curl -sL https://deb.nodesource.com/setup_4.x | bash – RUN apt-get install -y nodejs ## Nightwatch RUN npm install -g nightwatch 这个图像然后用于testing: gitlab-ci.yml build: stage: build tags: – deploy script: – docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY – meteor npm install –production – meteor build […]

InternalOAuthError:无法获取访问令牌

任何人都可以帮助我与下面的代码链接GitHub oauth2提供服务器与passport-oauth2消费者 在我用http://localhost:8082login后,到达我的callbackURL: http://localhost:8081/auth/provider/callback ,它会抛出一个错误 var express = require('express') , passport = require('passport') , util = require('util') , TwitterStrategy = require('passport-twitter').Strategy; var TWITTER_CONSUMER_KEY = "–insert-twitter-consumer-key-here–"; var TWITTER_CONSUMER_SECRET = "–insert-twitter-consumer-secret-here–"; passport.serializeUser(function(user, done) { done(null, user); }); passport.deserializeUser(function(obj, done) { done(null, obj); }); passport.use(new TwitterStrategy({ consumerKey: TWITTER_CONSUMER_KEY, consumerSecret: TWITTER_CONSUMER_SECRET, callbackURL: "http://127.0.0.1:3000/auth/twitter/callback" }, function(token, tokenSecret, profile, done) { […]

Angular资源如何保持ajax头文件并同时启用cors

在我的ng资源文件中,我启用了ajax头文件: var app = angular.module('custom_resource', ['ngResource']) app.config(['$httpProvider', function($httpProvider) { //enable XMLHttpRequest, to indicate it's ajax request //Note: this disables CORS $httpProvider.defaults.headers.common["X-Requested-With"] = 'XMLHttpRequest'; }]) app.factory('Article', ['$resource', function($resource) { return $resource('/article/api/:articleId', {articleId: '@_id'}, { update: {method: 'PUT'}, query: {method: 'GET', isArray: true} }) }]) 因此,我可以分开ajax和非ajax请求和响应(发送像res.json(data) json数据,或发送像res.render('a.html')整个HTML页面 例如,在我的error handling程序中,我需要决定渲染error.html页面或仅发送错误消息: exports.finalHandler = function(err, req, res, next) { res.status(err.status […]

更新到Angular 2后,无法通过Firefox上的Protractor运行Selenium

在将Angular JS 1.4.x更新为Angular 2之后,Seleniumtesting无法通过Firefox上的grunt-protractor-runner运行。 一旦AngularJS被加载,出现以下错误 : D:\…\node_modules\grunt-protractor-runner\node_modules\protractor\node_modules\selenium-webdriver\lib\atoms\error.js:108 var template = new Error(this.message); ^ UnknownError: Permission denied to access property "toString" Build info: version: '2.48.2', revision: '41bccdd', time: '2015-10-09 19:59:12' System info: host: 'NAGWS72', ip: '192.168.210.23', os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.7.0_79' Driver info: driver.version: unknown at new bot.Error (D:\…\node_modules\grunt-protractor-runner\node_modules\protractor\node_modules\selenium-webdriver\lib\atoms\error.js:108:18) at Object.bot.response.checkResponse (D:\…\node_modules\grunt-protractor-runner\node_modules\protractor\node_modules\selenium-webdriver\lib\atoms\response.js:109:9) […]

我怎样才能做callback,需要它的子function的信息

我正在使用Node.js作为Haraka (一个smtp服务器)插件的项目。 这是Node.JS,我有一个小问题与callback。 我还没有能够转换这个特定的代码来使用callback。 所以,这是我有的代码: exports.hook_data = function (next, connection) { connection.transaction.add_body_filter('', function (content_type, encoding, body_buffer) { var header = connection.transaction.header.get("header"); if (header == null || header == undefined || header == '') return body_buffer; var url = 'https://server.com/api?header=' + header ; var request = require('request'); request.get({ uri: url }, function (err, resp, body) { […]

如何执行与Mongoose runCommand?

我正在使用Node.js和Mongoose来访问我的MongoDB。 我正在使用存储一些地理坐标的模型。 我有他们索引,一切似乎按预期工作。 我想要做的是从我的请求中获取最近的东西。 在MongoDB控制台上,我做了这样的事情: distances = db.runCommand({ geoNear : "deals", near : [11.252, 14.141], spherical : true, maxDistance : 300 }).results 但是,我不知道如何用Mongoose做到这一点。 这里是关于我试图使用的命令的更多信息: http : //www.mongodb.org/display/DOCS/Geospatial+Indexing 谢谢,何塞

没有v8-profiler的Node.js内存泄漏

我试图追踪Node.js应用程序中的内存泄漏。 我已经尝试安装v8-profiler,但它不会编译…它看起来像一个死的项目 ,很多人试图使用,但得到同样的问题 – 很多从节点0.3.2很多,所以很长一段时间前。 有没有人知道一种方法来追捕Node.js应用程序中的内存泄漏,而不使用v8-profiler? 我有Eclipse运行与V8远程debugging工作,但无法find一种方法来查看内存使用情况/堆等

NodeJS和谐在导入时给出了SyntaxError

我正在使用标志child_process –harmony标记ES6testing节点,但是在导入时第一步失败。 有任何想法吗? import {'spawn'} from child_process; console.log(spawn); 而我运行: node –harmony test.js 我得到: :1 (function (exports, require, module, __filename, __dirname) { import {spawn} f ^^^^^^ SyntaxError: Unexpected token import

使用Android帐户login网站

我正在构build一个响应式Web应用程序。 它使用谷歌oauthlogin,它工作得很好(nodejs与passportjs)。 当从android手机浏览网站,并按下“login”,我得到了谷歌login页面,就像使用桌面时一样。 有没有可能从Android使用谷歌帐户,而不是强迫用户input他的凭据?