Articles of node.js

将PGN转换为nodejs中的FENstring列表(国际象棋符号)

我正在使用nodejs构build一个与国际象棋相关的应用程序。 我一直在尽可能地使用chess.js ,但是我认为我在function方面遇到了障碍。 在扩展function之前,我想确保没有其他工具可以做我所需要的。 我正在寻找一种方法来将PGNstring转换为FEN移动列表。 我希望在chess.js中使用load_pgn()将对象加载到对象中,然后在每个对象上循环,并调用fen()函数输出当前的FEN。 然而,chess.js似乎没有办法在游戏中穿行。 除非我失去了一些东西。 我宁愿不必进入parsingstring,但会如果我必须。 有什么build议么? 解: 另请参阅efirvida的答案以获得解决scheme 像这样(未经testing)似乎工作。 该函数接受一个由chess.js创build的Chess对象,该对象已经加载了一个PGN。 function getMovesAsFENs(chessObj) { var moves = chessObj.history(); var newGame = new Chess(); var fens = []; for (var i = 0; i < moves.length; i++) { newGame.move(moves[i]); fens.push(newGame.fen()); } return fens; }

从另一条路线呼叫hapi路线

我对HapiJS很新颖。 我正在build立一个服务,我有两个路由/ route1和/ route2都使用插件体系结构。 我已经注册为我的清单文件上的插件。 我想从/ route2调用/ route1,因此/ route2取决于来自/ route1的有效负载。 我一直在寻找把/ route2的逻辑放在预处理程序的/ route1上,但我想分开保存它们。 不知道如何调用从另一个注册插件的事情是这两个插件(路线)正在做networking请求。 谢谢阅读。 谢谢。

Node.js – 如何使用crypto.randomBytes在特定范围内生成随机数字

如何使用crypto.randomBytes在特定范围内生成随机数字? 我想能够生成一个像这样的随机数字: console.log(random(55, 956)); // where 55 is minimum and 956 is maximum 而且我仅限于在随机函数内部使用crypto.randomBytes来为此范围生成随机数。 我知道如何将生成的字节从randomBytes转换为hex或十进制,但我不知道如何从math上随机字节的特定范围内获得一个随机数。

在MySQL中使用sequelize自动递增id

我在NodeJS中有以下模型和sequelize和一个MySQL数据库: var Sequelize = require('sequelize'); var User = sequelize.define('user', { id: { type: Sequelize.INTEGER, autoIncrement: true, primaryKey: true }, … }; 我想用下面的代码添加一个新的用户到我的数据库: sequelize.transaction().then(function(t) { User.create({/* User data without id */}, { transaction: t }).then(function() { t.commit(); }).catch(function(error) { t.rollback(); }); }); 之后,我得到了下一个错误: Executing (47f19f7b-a02d-4d72-ba7e-d5045520fffb): START TRANSACTION; Executing (47f19f7b-a02d-4d72-ba7e-d5045520fffb): SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ; […]

visual studio code nodejs request'launch':无法启动目标(原因:spawn节点ENOENT)

当我使用visual studio代码来debuggingnodejs应用程序。 视觉工作室代码告诉我request 'launch': cannot launch target (reason: spawn node ENOENT) 我的nodejs版本是4.2.4

npm找不到模块'minimatch'

我更新我的Node.js到5.5.0。 但是当我使用npm时它不起作用。 它报告错误: Cannot find module 'minimatch' 。 但是,我的Mac上的Node.js 4.2版本可以。

在客户端使用npm包

有没有一种方法可以在客户端使用npm包? 例如,我想在我的客户端JavaScript文件中使用dateformat ( https://www.npmjs.com/package/dateformat )包

刮Netflix

尝试以编程方式从Netflix中获取最新查看的数据,但仅在login阶段出现一些问题。 我目前的代码只是导致Netflix吐口水We were unable to process your request. 页: var request = require('request').defaults({jar: true}); var cheerio = require('cheerio'); var url = "https://www.netflix.com/Login?locale=en-GB&nextpage=https%3A%2F%2Fwww.netflix.com%2FWiViewingActivity"; request(url, function (error, response, body) { if (!error && response.statusCode == 200) { var $ = cheerio.load(body); var authCode = $("#login-form > input").attr("value"); request.post(url+"?email=myemail%40gmail.com&password=mypassword&RememberMe=on&authURL="+authCode, { }, function(err, response, body){ console.log(body); }); } }) […]

CORS节点js问题

经过了多个post,我仍然找不到正确的答案。 检查了CORS扩展的文档。 我有以下服务器代码启动并运行: var WebSocketServer = require("ws").Server var http = require("http") var express = require('express') var cors = require('cors') var app = express(); app.use(cors()); var port = process.env.PORT || 9000 var server = http.createServer(app) server.listen(port) var count = 0; var clients = {}; var rooms = {}; var wss = new WebSocketServer({server: server}) wss.on("connection", function(ws) […]

创build并使用Babel插件,而不使其成为npm模块

在我的项目中,我使用了Babel 6和require hook。 我需要加载一个我写的自定义babel插件。 但是,我真的需要首先使用npm发布我的插件,然后在我的主项目的.babelrc包含插件名称? 有什么方法可以直接加载插件代码? 换句话说,我可以直接加载以下内容吗? export default function({types: t }) { return { visitor: { … } }; }