0

尝试使用 node-sharp - https://github.com/anodejs/node-sharp来加载我拥有的一些现有的 .net 程序集。到目前为止还不能让它工作 - 似乎只得到一个“找不到指定的程序”。

因此,我尝试从一个更简单的示例开始并遵循本指南 - http://coderesearchlabs.com/articles/BNWCA.pdf。结果相同。

我在 Windows 64 中运行,安装了 32 位版本的 Node.js 版本 0.8.16。

错误堆栈跟踪 -

> require("./Sharp").hello
Error: The specified procedure could not be found.
C:\Program Files (x86)\nodejs\Sharp.node
    at Object.Module._extensions..node (module.js:485:11)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:362:17)
    at require (module.js:378:17)
    at repl:1:2
    at REPLServer.self.eval (repl.js:109:21)
    at Interface.<anonymous> (repl.js:248:12)
    at Interface.EventEmitter.emit (events.js:96:17)
    at Interface._onLine (readline.js:200:10)
> console.log('Version: ' + process.version);
Version: v0.8.16
undefined
>

来源是

#pragma comment(lib, "node")

#include <node.h>
#include <v8.h>

using namespace node;
using namespace v8;

extern "C" void NODE_EXTERN init (Handle<Object> target)

{

HandleScope scope;

target->Set(String::New("hello"), String::New("world"));

}

NODE_MODULE(test, init)
4

1 回答 1

1

确保模块名称与传递给的内容匹配NODE_MODULE

NODE_MODULE(test, init)  // => `test.node`
NODE_MODULE(Sharp, init) // => `Sharp.node`

此外,由于该指南似乎适用于 Node 0.6.x,之后发布了 0.8.0 ,您可能会发现Addonsnode-gyp文档对 Node 0.8 开发很有用。

于 2013-01-06T08:30:17.290 回答