Articles of javascript

节点js函数返回而不是string值

我很安静新来的Java脚本和节点js,我想从一个MySQL数据库中获取一个值,返回值是[对象对象]而不是一个string。 我真的没有在网上find任何答案是什么问题。 我希望这里有人可以帮助。 行值是[object Object]。 这是我的function exports.getAllIdInfo= function(dbConnection, tables ,id , callback){ var tableName= tables[i]; var tableVariable = tableName; var myQuery = 'SELECT time, ' + tableVariable + ' FROM ' + tableName + ' WHERE id= ' + id; var query = dbConnection.query(myQuery, function (err, row, result) { console.log(query.sql); if (err) { console.log("getAllGoodIds error"); […]

TypeError:By.cssSelector不是一个函数

我使用npm的Selenium Webdriver。 我无法使By.cssSelector工作。 其他一切: By.tagName , By.id等 码: var webdriver = require('selenium-webdriver'), By = require('selenium-webdriver').By, until = require('selenium-webdriver').until var driver = new webdriver.Builder() .forBrowser('firefox') .build() driver.get('http://www.facebook.com/') driver.findElement(By.name('email')).sendKeys('xxx@gmail.com') driver.findElement(By.name('pass')).sendKeys('xxx') driver.findElement(By.id('pass')).submit() driver.findElement(By.name('xhpc_message')).sendKeys('https://www.youtube.com/watch?v=UfvZvd-kjyo') driver.wait(function () { return driver.isElementPresent(driver.findElement(By.cssSelector(".uiScaledImageContainer"))) }, 10000) 我得到这个错误: alex @ alex-K43U:〜/ node / sapp $ node app.js /home/alex/node/sapp/node_modules/selenium-webdriver/lib/goog/async/nexttick.js:41 goog.global.setTimeout(function( ){throw exception;},0); ^ TypeError:By.cssSelector不是一个函数 我究竟做错了什么?

NodeJS + TypeScript:使用脚本编译代码的语法不清晰

我正在尝试在我的节点项目中使用Typescript,但遇到了一些问题。 这是我的index.ts文件: import express from 'express'; const app = express(); 我在跑: tsc –module commonsjs -d index.ts 我的输出是index.js: var express_1 = require('express'); var app = express_1["default"](); 这个["default"]是从哪里来的? 这使我的代码不能正常运行: var app = express_1["default"](); ^ TypeError: express_1.default is not a function 据我所知,我应该得到没有“默认”括号的代码,它会工作正常 – 我试图删除括号,它的工作。 我在这里错过了什么?

Javascript / Node JS最好的方法来创build单例对象

我完成了我的家庭工作,取得了完美的成绩。 但是我只想检查一下,这是创build单例实例还是其他任何方式的最佳方式: 我使用模块模式(闭包)创build了一个单例对象作为“app.js” var singleton1 = require('./singletonUser1'); console.dir(singleton1.getlocalvariable()); singleton1.setlocalvariable(20); console.dir(singleton1.getlocalvariable()); var singleton2 = require('./singletonUser2'); console.dir(singleton2.getlocalvariable()); singleton2.setlocalvariable(30); console.dir(singleton.getlocalvariable()); 实际单身人士对象(singleton.js): var singleton = (function () { var localvariable = 10; return { getlocalvariable: function () { console.dir('This is getInstance'); return localvariable; }, setlocalvariable: function (value) { console.dir('This is setlocalvariable'); localvariable = value; }, }; })(); module.exports = […]

定义没有在nodejs typescript应用程序中定义

我在打字稿中的nodejs应用程序,我已经写了一个文件server.js作为休闲: import express = require('express'); import mongoose = require('mongoose'); let app=express(); app.set('port', process.env.PORT || 3000); // Set port to 3000 or the provided PORT variable /** * Start app */ app.listen(app.get('port'), function() { console.log(`App listening on port ${app.get('port')}!`); }); 我已经使用了吞噬一切生成js文件 define(["require", "exports", 'express'], function (require, exports, express) { var app = express(); app.set('port', process.env.PORT || […]

RegExp匹配的内容

我一直在试图从Python转换为node.js. 这是一个简单的程序,使用正则expression式来检查IP地址是公共还是私有: import re def is_private_ip(ip): """ Returns `True` if the `ip` parameter is a private network address. """ c = re.compile('(^127\.0\.0\.1)|(^10\.)|(^172\.1[6-9]\.)|(^172\.2[0-9]\.)|(^172\.3[0-1]\.)|(^192\.168\.)') if c.match(ip): return True return False print is_private_ip('192.168.0.1') # True print is_private_ip('8.8.8.8') # False print is_private_ip('109.231.231.221') # False 我用Javascript来实现它,就像这样: var localIp = new RegExp(/(^127\.0\.0\.1)|(^10\.)|(^172\.1[6-9]\.)|(^172\.2[0-9]\.)|(^172\.3[0-1]\.)|(^192\.168\.)/); console.log('192.168.0.1'.match(localIp)); console.log('8.8.8.8'.match(localIp)); console.log('109.231.231.221'.match(localIp)); 这给了我以下输出: [ '192.168.', undefined, undefined, undefined, […]

为什么createServer()被认为不是一个函数?

我安装了快递全球和npm安装了我的快递应用程序,但intellisence或应用程序都没有工作(我在Mac OS Yosemite上使用Visual Studio代码)。 这里是一个示例代码: /// <reference path="typings/node/node.d.ts" /> /// <reference path="typings/express/express.d.ts" /> var express = require('express'); var app = express.createServer(); app.get('/', function (req, res) { res.send('hi'); }) app.listen(8000); 这里是我得到的错误: Abeds-MacBook-Pro:myNode AZ$ node twitter.js /Users/AZ/Desktop/myNode/twitter.js:5 var app = express.createServer(); ^ TypeError: express.createServer is not a function at Object.<anonymous> (/Users/AZ/Desktop/myNode/twitter.js:5:19) at Module._compile (module.js:397:26) at Object.Module._extensions..js (module.js:404:10) […]

使用promise的asynchronousrecursion

所以我试图把我的代码转移到“承诺世界”,并在许多地方,当我不得不与asynchronousfunction“循环” – 我只是用这种方式recursion function doRecursion(idx,callback){ if(idx < someArray.length){ doAsync(function(){ doRecursion(++idx,callback) }); }else{ callback('done!') } } doRecursion(0,function(msg){ //… }); 现在我正在努力把变化变成承诺的世界,而且我很困难 var Promise = require('bluebird') function doRecursion(idx){ return new Promise(function(resolve){ if(idx < someArray.length){ doAsync(function(){ //… doRecursion(++idx) // how do i call doRecusion here…. }); }else{ resolve('done!') } }); } doRecursion(0).then(function(msg){ //… }); 谢谢。

在Jspm中使用非npm(legacy)javascript库

我正在尝试整合这个非npm的库 。 我已经失败了很多次,因为我总是很兴奋地使用一些现代化的框架,这使得我无法整合。 我用require.js尝试了backbone.js,甚至Dart,现在我仍然固执地尝试使用gulp,jspm,aurelia来达到同样的效果。 问题是这个库可能不遵循模块的概念。 我对这个库的初始化有很多问题,做了很多补偿。 所以问题是我该如何使用这样的库。 在同一时间使用现代的方式来构buildJavaScript应用程序。

使用`module`作为命名空间

我一直在我的node.js模块中使用一个模式,这对我来说似乎是非常明显的,所以我认为一定有什么问题,或者我会看到更多的人这样做。 为了保持模块全局的私有variables,我只需将它们作为属性附加在模块对象上。 像这样: module.exports = { init: function() { module.someClient = initializeSomethingHere() }, someMethod: function(done) { module.someClient.doSomething(done) } } 这似乎比这样的东西更可取 var someClient; module.exports = { init: function() { someClient = initializeSomethingHere() }, someMethod: function(done) { someClient.doSomething(done) } } …因为在第二个示例中,您需要在文件的顶部searchvar someClient ,以确保在init方法中省略var关键字是有意的。 我从来没有见过这种模式在其他地方使用,所以我想知道是否我错过了一些不理想的东西。 思考?