Articles of 函数

调用函数时不会在javascript中使用正确数量的参数时创build错误

我有这个function的JavaScript。 function func_name(param_1, param_2) { //blah blah } 有时,我不小心通过提供1个参数而不是2来调用它。 func_name(aa); 但是,脚本运行时,javascript不会产生错误。 脚本运行时,如何让javascript产生错误或警告? 这将有助于更容易地发现错误。 我正在使用node.js v6。

TypeError:uri.indexOf不是一个函数

所以我是JavaScript新手,我试图在Node.js中构build一个Web应用程序。 我想用passport.js将用户身份validation添加到我的应用程序中。 但是,当我尝试启动服务器的命令提示符时,我不断收到此错误: TypeError: uri.indexOf is not a function at checkReplicaSetInUri (C:\spectray\node_modules\mongoose\lib\index.js:115:30) at Mongoose.connect (C:\spectray\node_modules\mongoose\lib\index.js:238:40) at Object.<anonymous> (C:\spectray\server.js:15:10) at Module._compile (module.js:570:32) at Object.Module._extensions..js (module.js:579:10) at Module.load (module.js:487:32) at tryModuleLoad (module.js:446:12) at Function.Module._load (module.js:438:3) at Module.runMain (module.js:604:10) at run (bootstrap_node.js:394:7) at startup (bootstrap_node.js:149:9) at bootstrap_node.js:509:3 这是我的server.js文件: var express = require('express'); var app = express(); var port […]

如何在函数内的node.js中返回一个导入的模块?

我是一个创build一个node.js单页面的应用程序。 如果用户通过validation,我想在主页中显示特定的视图。 为此,我创build了一个函数来检查用户是否是auth。 它工作正常。 但是,当我想要返回一个特定的视图时,我会遇到一些问题。 我尝试了几种不同的方法,但是我不能返回任何视图。 意见 const notAuth = require('../view1') const isAuth = require('../view2') 这是我第一次尝试: const home = function (ctx) { if (ctx.auth) { return isAuth } else { return notAuth } } module.exports = home 然后,我试图只使用module.exports : module.exports = function home (ctx, next) { if (ctx.auth) { return isAuth } else { return […]

模块导出function

我正试图导出一个函数,使用Sendgrid发送电子邮件。 我创build了一个我创build这个函数的外部文件。 数据(作为参数使用的凭证)我把它放在其他文件中,我也导入它。 我没有得到任何的错误,但电子邮件根本没有发送。 发送邮件: module.exports = { 'sendMail': function(subject, sender_email, email, link, username, template){ var request = sg.emptyRequest(); request.body = { subject: subject, from: { email: sender_email }, personalizations: [ { to: [{ email: email }], substitutions: { '[link]' : link, '[email]' : email, '[username]': username } } ], template_id: template }; request.method = […]

在Express中将数组传递给Jade / Pug路由

我是新来expression和帕格所以原谅我,如果这是一个noob的问题,但如何将我创build的数组在一个函数的路线,将呈现帕格模板。 我最终想循环数组,并将其呈现为一个表格。 我的代码 – 首先我使用lodash map方法从一个文件接收的数据中创build数组。 *编辑 – 添加完整的代码结构 – fs.readFile(file, 'utf8', function (err, data) { if (err) { console.log('Error: ' + err); return; } var data = JSON.parse(data); var newEventList = data.events.map(events => ({ id: events.id , name: events.name , venue: events.place.name , address: events.place.location.street + " " + events.place.location.city + " " + […]

使用Node.js将Url / Path转换为Json

我最近build立了一个小节点程序,能够以一个精确的pathconsole.log所有的文件。 我从这个函数得到的结果如下所示: /Volumes/TimeCapsule/movies/movie1 movie1.mp4 /Volumes/TimeCapsule/movies/movie2 movie2.mp4 /Volumes/TimeCapsule/movies/movie3 movie3.mp4 现在我的问题是:我怎么能设法将每个path转换为JSON,所以我可以例如显示在一个HTML页面的电影文件夹的所有文件? 我想有这样的事情: { "Volumes": { "TimeCapsule": { "Movies":{ "Title": "Movie1" "Title": "Movie2" "Title": "Movie3" } } } } 先谢谢你。 顺便说一句,这里是我的散步function: var fs = require('fs'); var walk = function (currentPath) { console.log(currentPath); var files = fs.readdirSync(currentPath); //Returns array of filename in currenpath for (var i in files) { […]

从传递给函数的string中调用一个javascript函数

我在这里看到了类似性质的多个问题,但是没有人会为我具体的东西(即时使用node.js)工作。 所以例如在这里拿这个代码。 function command_call(message, socket) { if (message.length > 1){ var func = message[0]; var string = message.slice(1); var string = string.join(' ')} else{ var func = message[0]; var string = '';}; if(func[0] == '$') { (eval(func.slice(1)))(string, socket);}; }; function say(string, socket){ socket.write(string)}; 如果传递给command_call的消息是“$ say hi”,那么函数会被调用并返回“hi”。 这工作得很好,但是,如果被放到eval的函数不存在,它崩溃。 例如,如果传递给command_call的消息是“$ example blah”,它将尝试评估“example”。 基本上我需要它来检查function是否存在之前它的function。 是的,我想要使用eval,除非有更好的方法来做节点。 再次,这是在node.js

当执行一个Function对象时,节点“ReferenceError:require is not defined”

我试图执行一个函数对象,它基本上和下面的伪代码一样: var testF = new Function("x","y", "var http = require('http');"); testF('foo','bar'); 并得到: ReferenceError: require is not defined 我是否需要以某种方式添加重新加载require模块的内容,因为它不是Node中的全局模块? 如果是这样,谷歌并不是我的朋友,所以任何关于如何这样做的指针会是太棒了。 感谢您的想法。

节点JS MySQL查询函数不返回结果

我在节点JS上运行的.js文件中运行MySQL查询。 我有连接设置确定和查询工作,但是当我尝试返回到原来的调用结果似乎并没有工作。 function sqlQuery(query){ console.log("Running query"); var conn = connection(); var result = false; conn.query(query, function(err, rows, fields) { conn.end(); if (!err){ result = rows; } else { result = err; } }); return result; } var loginResult = sqlQuery("SELECT * FROM `players`"); console.log(loginResult); 如果我使用下面的代码,它将结果写入查询中的控制台,但不是最终的“loginResult”。 我没有得到任何错误,所以我的问题是 – 是否有我得到返回结果的方式错误? if (!err){ result = rows; console.log(rows); } […]

给定一个string格式的函数如何将其转换回到JavaScript中的函数?

说我有一个JavaScript的function var fn = function () { return 6 + 5; }; 然后我做 fn.toString(); 哪个返回 "function () { return 6 + 5; }" 我怎么能把它变成一个函数,并最终在后面调用它。 我已经试过eval就像其他人所说的,但这似乎并没有为我工作。 任何帮助将非常感激!!!