Tag: javascript

Nodejs / Express – 启动我的应用程序:express.createServer()已弃用

我下载了一个节点应用程序来testing和玩耍。 我search了一下,发现Express被发现有点过时了。 有人可以帮我修复实施的代码吗? 这是代码 /** * Module dependencies. */ // base dependencies for app var express = require('express') , routes = require('./routes') , DB = require('./accessDB').AccessDB , passport = require('passport') , mongoose = require('mongoose') , mongoStore = require('connect-mongodb'); var app = module.exports = express.createServer(); global.app = app; var DB = require('./accessDB'); var conn = 'mongodb://localhost/CrowdNotes'; […]

meteor中的全局variables

我有 var Schemas = {}; Meteor.isClient && Template.registerHelper("Schemas", Schemas); Schemas.Person = new SimpleSchema({ fullName: { type: String, index: 1, optional: true, }, email: { type: String, optional: true }, address: { type: String, optional: true }, isActive: { type: Boolean, }, age: { type: Number, optional: true } }); 在一个文件中 var Collections = {}; Meteor.isClient […]

如何在多个文件中设置摩卡testing用例的执行顺序

我有两个包含摩卡testing用例的java脚本文件。 //———-abc.js ————- describe("abc file", function(){ it("test 1" , function(){ assert.equal(20 , 20); }); }); //———xyz.js————– describe("xyz file", function(){ it("test 1" , function(){ assert.equal(10 , 10); }); }); 我把它们放到一个名为test的文件夹中,当我执行mocha命令时,总是执行第一个文件(abc.js)的内容,然后执行xyz.js. 我认为这可能按照词汇顺序,并将其更名为 abc.js => xyz.js xyz.js => abc.js 但是现在xyz.js的内容(以前被命名为abc.js)首先被执行。 我想知道如何改变这些testing文件的执行顺序。

在nodeJs有没有使用数组大小​​循环通过一个数组?

假设我有 myArray = ['item1', 'item2'] 我试过了 for (var item in myArray) {console.log(item)} 它打印0 1 我希望有item1 item2 还有没有其他的语法,没有使用 for (var i = 0; i < myArray.length; i++)

你将如何检查在ejs为node.js未定义的属性?

在ejs模板中检查未定义的属性的最佳方法是什么? (我使用TJ Holowaychuk的node.js包 ) 例: var tpl = '<% if (foo) { %>foo defined<% } else { %>foo undefined<% } %>'; console.log(ejs.render(tpl, { locals: { bar: "baz" } })); 我希望这个渲染“foo undefined”。 它确实会抛出一个foo未定义的错误。 我知道这不是一个问题,因为这是testing中的预期行为。 有没有简单的方法来避免这种情况? 我find的唯一解决scheme是使用hasOwnProperty方法。 var tpl = '<% if (hasOwnProperty("foo")) { %>foo defined<% } else { %>foo undefined<% } %>'; console.log(ejs.render(tpl, { locals: { […]

如何检查NodeJS中的JSON是否为空?

我有一个函数,检查请求是否有任何疑问,并做了不同的行动基于此。 目前,我有if(query)做这个别的东西。 但是,似乎没有查询数据时,我最终得到一个{} JSON对象。 因此,我需要replaceif(query) if(query.isEmpty())或类似的东西。 任何人都可以解释我怎么可以在NodeJS做这个? V8 JSON对象是否有这种function?

在WebStorm 11中,Mocha描述了“require()缺失”

我刚刚安装了WebStorm 11,并创build了一个新的项目,但是WebStorm说这个describe方法需要require() : 我已经添加了明确types的摩卡库,范围是testing目录(这个文件是在)。

节点js错误:协议“https:”不支持。 预计“http:”

我正在使用IBM Bluemix为学校项目制作Web服务。 我的项目需要从API请求一个JSON,所以我可以使用它提供的数据。 我使用http get方法的数据集,我不知道它是否正常工作。 当我运行我的代码,我得到的消息: 错误:协议“https:”不受支持。 预计“http:” 是什么原因造成的,我该如何解决? 这是我的.js文件: // Hello. // // This is JSHint, a tool that helps to detect errors and potential // problems in your JavaScript code. // // To start, simply enter some JavaScript anywhere on this page. Your // report will appear on the right side. // // […]

使用Mongoose中的.populate()返回某些字段

运行我的查询后,我从MongoDB返回一个JSON值。 问题是我不想返回与我的返回相关的所有JSON,我试图search文档,并没有find一个正确的方法来做到这一点。 我在想,如果可能的话,如果是这样的话,是什么方法呢? 例如:在DB中 { user: "RMS", OS: "GNU/HURD", bearded: "yes", philosophy: { software: "FOSS", cryptology: "Necessary" }, email: { responds: "Yes", address: "rms@gnu.org" }, facebook: {} } { user: "zuckerburg", os: "OSX", bearded: "no", philosophy: { software: "OSS", cryptology: "Optional" }, email: {}, facebook: { responds: "Sometimes", address: "https://www.facebook.com/zuck?fref=ts" } } 如果它存在一个用户,但是如果它不返回另一个字段,返回一个字段的正确方法是什么。 对于上面的例子,我想返回RMS的[email][address]字段和Zuckerburg的[facebook][address]字段。 这是我试图find如果一个字段为空,但它似乎没有工作。 […]

Node.js请求CERT_HAS_EXPIRED

我使用Mikeal的请求( https://github.com/mikeal/request )向服务器发出https请求。 但是,我不断收到CERT_HAS_EXPIRED的授权错误。 request({ url: 'https://www.domain.com/api/endpoint', strictSSL: false }, function(error, response, body) { if(!error && response.statusCode == 200) { res.json(JSON.parse(body)); } else { res.json(response.statusCode, {'error': 'error'}) } }); 我试着将strictSSL设置为true和false,都输出相同的错误CERT_HAS_EXPIRED。 是什么导致这个问题,有没有办法解决它在nodejs?