node.js插件上未定义的符号

我正在尝试创build一些node.js插件。 在插件里面我有一个静态库的调用。 一切编译好,但是当我从JavaScript调用我的插件function,我得到以下内容: module.js:356 Module._extensions[extension](this, filename); ^ Error: /home/…/Projects/NodeAddonComLibTest/build/Debug/addon.node: undefined symbol: _Z6ctest1Pi at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at Object.<anonymous> (/home/…/Projects/NodeAddonComLibTest/doTest.js:1:75) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Function.Module.runMain (module.js:497:10) 我的插件代码如下: #include <iostream> #include <string.h> #include <stdlib.h> #include <node.h> #include <v8.h> using namespace […]

将数据添加到socket.io套接字对象

我想在连接上添加一些自定义的信息到我的套接字对象,以便当我断开套接字,我可以读取自定义信息。 IE: // (Client) socket.on('connect', function(data){ socket.customInfo = 'customdata'; }); // (server) socket.on('disconnect', function () { console.log(socket.customInfo); });

模拟fs.readdir进行testing

我试图嘲笑函数fs.readdir为我的testing。 起初我试过使用sinon,因为这是一个非常好的框架,但是没有奏效。 stub(fs, 'readdir').yieldsTo('callback', { error: null, files: ['index.md', 'page1.md', 'page2.md'] }); 我的第二个尝试是用自我replace函数来模拟函数。 但它也不起作用。 beforeEach(function () { original = fs.readdir; fs.readdir = function (path, callback) { callback(null, ['/content/index.md', '/content/page1.md', '/content/page2.md']); }; }); afterEach(function () { fs.readdir = original; }); 有谁可以告诉我为什么两个都不行? 谢谢! 更新 – 这也不起作用: sandbox.stub(fs, 'readdir', function (path, callback) { callback(null, ['index.md', 'page1.md', 'page2.md']); }); […]

configurationgrunt-ts并使其与LiveReload配合使用

我正在尝试在Yeoman / Grunt项目中使用TypeScript。 为了编译TypeScript我使用了一个名为grunt-ts的grunt插件,.ts文件的编译工作得很好,但是实时重载不起作用:当我运行grunt server我正确地得到了这个: Running "ts:dev" (ts) task Compiling. Success: 3.37s for 2 typescript files Watching all Typescript files under : /home/mimo/webroot/tsyong/app/scripts 但是,然后liveReload任务不加载。 这就是我如何configurationGrunt-ts的Gruntfile.js。 grunt.initConfig({ … ts: { options: { // use to override the default options, http://gruntjs.com/configuring-tasks#options target: 'es3', // es3 (default) / or es5 module: 'commonjs', // amd , commonjs (default) sourcemap: […]

与ExpressJS集成的AngularJS和Node.js

我正在尝试用Express和Angularjs编写Node.js的应用程序。 我可以允许AngularJS处理所有的登陆请求吗? 而Node.js纯粹是针对API的? 这意味着用Node.js编写的所有路由将如下所示: app.get('/api/users', users.showAll); app.post('/api/users', users.create); app.get('/api/users/fb/:fbId', users.findByFb); app.get('/api/users/:userId', users.show); app.put('/api/users/:userId', users.update); app.del('/api/users/:userId', users.del); 和AngularJS将能够解决自己的url,例如localhost / users / Some-Name? 将两者结合在一起时要遵循哪些最佳实践? 同样,build议将AngularJS和Node.js应用程序分成两个不同的应用程序? 有什么办法可以做到这一点? 提前致谢!!

在Debian 6上安装nodejs

很多(旧的)post都提出,如果想在Debian 6上安装node.js(在我的情况下,这是我正在试验的Amazon EC2 t1.micro实例),那么需要编译自己的事实Debian软件包显着滞后于Node.js开发的疯狂步伐。 node.js网站列出了v0.10.17作为当前的稳定版本。 当前nodejs包的信息也很好的列出了(0.10.17〜dfsg1-2)这听起来不错吧? 毕竟不必做! 问题是这个请求: sudo apt-get install nodejs 产生这些结果: Reading package lists… Done Building dependency tree Reading state information… Done E: Unable to locate package nodejs 所以我的问题是这样的:当我看到一个包是PLANNED但尚未创build,或者有可能是一些apt-get问题,我的安装只是看不到nodejs包,因此无法安装它? 我坚持不得不做一个? (顺便说一句,当我尝试它时炸毁了我)。

Socket IO WebSocket请求被企业防火墙阻止。

从企业防火墙/代理使用socket.io模块的解决scheme是什么? 这是我正在使用的代码。 // setup express server var app = express() var serv = http.createServer(app); serv.listen(80); // setup socket io – listens in on express store as well for sessions var io = require('socket.io').listen(serv);

Node.js – 在密码模块中设置填充

我一直在查看节点中的encryption模块的文档,我试图找出如何设置填充进行对称encryption时。 我试图使用AES-128-ECB和PKCS5填充。 我看不到任何可以指定填充的地方。 我当然希望这是可以做到使用这个库。 如何在encryption模块中指定对称encryption的填充?

grunt-typescript不会在指定的`dest`中产生js文件

我有以下目录结构: root | |_ package.json |_ Gruntfile.js | |_ javascripts/ |_ ts/file.ts 在Gruntfile中我有这样的: //Project Config grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), typescript: { base: { src: ['./javascripts/ts/*.ts'], dest: './javascripts/' } } }); 我期望js文件在javascripts/目录中。 但是,当我运行grunt typescript ,它会创build这个奇怪的目录结构: root | |_ package.json |_ Gruntfile.js | |_ javascripts/ |_ ts/file.ts |_ javascripts/ |_ ts/ |_ file.js 我期望编译的file.js出现在原来的javascripts/目录中。 这是为什么? 我应该写什么编译.js文件在所需的文件夹?

用yeoman生成器下载zip

我正在创build我的第一个Yeoman发电机。 我想下载一个包含CMS的外部zip文件,并将其解压缩到根目录下。 根据这个线程,这应该是可能的。 这个还没有实施吗? 如果不是,我需要复制到我的发生器? 我运行了发电机发电机,并得到了我的基本发电机。 这是我的代码到目前为止。 Generator.prototype.getVersion = function getVersion() { var cb = this.async() , self = this this.log.writeln('Downloading Umbraco version 6.1.6') this.download('http://our.umbraco.org/ReleaseDownload?id=92348', '.'); } 这会产生一个错误告诉我,它“无法find模块”下载“”。 什么是正确的语法?