JavaScript拆分方法不起作用

我有一个奇怪的问题试图分割一个string,我分裂一次,并将其保存为一个variables,但后来我试图分裂我刚刚创build的值,我不能,它会抛出一个错误说:不能调用未定义的方法“拆分” justName = fullLine.split('(', 1)[0]; dateOne = fullLine.split('(', 2)[1]; dateTwo = dateOne.split(')', 1); console.log(dateTwo); 如果我注销justName,那么没有问题。 fullLine的一个例子是: In the Heat of the Night (1967)

在nodejs中连接到redis

我在本地快速应用程序中安装了一个模块node-redis( https://github.com/mranney/node_redis )。 我添加了node-redis到我的package.json并运行npm install。 该模块已安装。 但是,如果我启动节点REPL和做 var redis = require("redis") 我明白了 Error: Cannot find module 'redis' at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25) at Module.require (module.js:364:17) at require (module.js:380:17) at repl:1:13 at REPLServer.self.eval (repl.js:110:21) at repl.js:249:20 at REPLServer.self.eval (repl.js:122:7) at Interface.<anonymous> (repl.js:239:12) at Interface.EventEmitter.emit (events.js:95:17) 我怎样才能解决这个问题? 谢谢

导出所需的相同对象会混淆摩卡

我正在使用摩卡运行unit testing的节点应用程序。 当我运行这个命令时: mocha –compilers coffee:coffee-script –reporter spec ./test/unit/*-test.coffee 我得到这个错误: ERROR: Unknown option –compilers 看来摩卡是混乱的,因为它肯定有一个编译器选项。 当我添加一个新的文件到项目时,这个错误开始发生。 这是我可以得到摩卡生成的唯一输出。 – 破坏者什么都不做。 比方说,我有一个名为人安装的软件包。 我想全局configuration这个包,这样我就可以在我的项目的任何地方导入configuration的对象。 为此,我导入人员,将其configuration为驱动程序,然后重新导出。 但是,当我导入它(无论是在Car.coffee或Car-test.coffee),摩卡失败,出现上述错误。 Driver.coffee driver = require 'person' driver.setSkill "Drive" module.exports = driver Car.coffee driver = require './driver' … Car-test.coffee driver = require '../../src/driver' … 请注意,这工作正常,如果我只是用咖啡编译和运行节点项目。 这里没有问题导入。 但是当我用摩卡运行,如果我导入文件失败。 我无法确定这个错误。 这看起来就像摩卡的一个错误,但也许我正在做一些“坏”的东西,通过导出相同的对象,我导入,节点只是更宽容? 我正在使用最新版本的摩卡(1.13.0)。 谢谢! 编辑: 这不能解决这个错误,而且不是理想的语法: person […]

无法将C ++string向量转换为V8数组

我想在C ++中做一些基本的string处理,并将结果作为一个数组发送到Node.js(V8)。 虽然我可以毫无问题地传递整数和string,但传递C ++string向量并将它们转换为Javascript数组会导致node-gyp投诉太多。 我对C ++的了解很less,我刚刚开始使用V8,那么有人可以填补我缺less的东西吗? #include <iostream> #include <fstream> #include <string> #include <vector> #include <algorithm> #include <node.h> #include <v8.h> using namespace std; using namespace v8; Handle<Value> uniques(const Arguments& args) { HandleScope scope; vector<string> words; // open text file with lots of words separated by spaces ifstream openFile( "D:\\words" ); if( openFile.is_open() ) { while( […]

req.originalUrl没有设置restify(连接会话中间件需要)

当我尝试使用连接会话中间件使用restify时,出现错误。 会话中间件期望req.originalUrl但restify不设置该属性。 (它只设置req.url)这会导致会话代码中的exception。 有没有解决方法? 谢谢Sharath

Sinon不要模仿db-mysql Node.js库

我试图在Node.js中使用Sinon和Mocha来模拟我的数据库进行testing。 我已经尝试了以下内容: var sinon = require('sinon'); var mysql = require('db-mysql'); beforeEach(function() { var db = sinon.mock(mysql); db.expects('execute'); }); 但我不断收到以下错误: TypeError: Attempted to wrap undefined property execute as function 我假设这是嘲笑类而不是数据库实例。 所以我通过做var db = sinon.mock(new mysql.Database());嘲笑实例var db = sinon.mock(new mysql.Database()); 代替。 当我这样做的时候,那么db-mysql实例的所有有效方法都会传递,比如db.connect()和db.query() ,不pipe参数是什么。 我无法设置行为。 为了设置行为,我试图在db上调用.expects但是我得到以下错误: TypeError: Object [object Object] has no method 'expects' 什么是设定预期行为的正确方法? 此外,如何testing同一function的几种行为? 我是否需要根据testing的期望在每个testing中做到这一点?

产生一个subprocess来调用nodejs中的npm-installed命令会在windows中导致ENOENT

我搜查了很多,但没有得到正确的答案。 首先我确定这个命令在命令行下是可用的,这里是输出: > lessc lessc: no input files usage: lessc [option option=parameter …] <source> [destination] 但是,当使用child_process.spawn ,我得到: > node test.js Encountered error: { [Error: spawn ENOENT] code: 'ENOENT', errno: 'ENOENT', syscall: 'spawn' } 我确定process.env被赋予spawn ,这里是nodejs代码: var build = require('child_process').spawn( 'lessc', [], { stdio: 'inherit', env: process.env } ); build.on( 'error', function (err) { console.log('Encountered error:', […]

Socket.io通道和消息callback

你好,我想知道这是如何真的工作: subscriber.on('message', function(channel, message) { io.sockets.emit('message', {'channel': channel, 'message': message}); 我真的想在你的帮助下学习socket.io,你能帮我理解这个线是什么吗? 什么message会发出? 这是什么channel ? 我想了解这行代码,请帮助我的家伙。 谢谢。

如何从passportjs中的刷新令牌获取新的Google oauth访问令牌

似乎有关于如何从刷新令牌获取访问令牌的一些冲突的build议: 这回答说,passportjs不涉及刷新访问令牌,它应该通过cron作业完成: 刷新Passport.js中的令牌 这回答说:“不需要任何cron作业…当用户使用已过期的访问令牌从API请求数据,这应该会导致您的框架失败,更新,然后重试。 OAuth 2.0 – 访问令牌何时应该刷新令牌? 确保我们始终向Google提供有效的访问令牌的最简单方法是什么? 现在,我们只是将刷新令牌存储在数据库中,从不使用它,每当访问令牌过期时,都会强制用户通过“允许/拒绝权限”stream。

检查目标文件是否已经存在

目标 要检查两个文件夹(src和目标文件夹)中是否存在具有相同名称的文件, 尝试尝试使用grunt-contrib-copy来遍历path,但显然这是行不通的。 copy: { unit: { expand: true, cwd: 'src', src: '**', dest: 'specs/unit', filter: function(filepath){ if(grunt.file.exists(filepath)){ return grunt.file.write(filepath,''); } } } }, 我的理论 grunt.file.exists似乎指向src文件夹而不是目标文件夹。 因此,它不会检查src文件夹中的文件是否确实存在于目标文件夹中,它只是检查src文件夹中是否有任何文件。