小编Rax*_*ter的帖子

错误:找不到模块“nan”

我正在开发本机 Node.js 插件并关注nan docs

我将 nan 包含到 binding.gyp 中,例如: "include_dirs" : [ "<!(node -e \"require('nan')\")" ]

nan 也在 npm 依赖项中。

但是当我在另一个节点模块中安装包时,node-gyp 失败并出现错误

> nnb@1.0.2 install /Users/Shopgate/sandbox/stress/node_modules/nnb
> node-gyp rebuild

module.js:338
    throw err;
          ^
Error: Cannot find module 'nan'
    at Function.Module._resolveFilename (module.js:336:15)
    at Function.Module._load (module.js:278:25)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at [eval]:1:1
    at Object.exports.runInThisContext (vm.js:74:17)
    at Object.<anonymous> ([eval]-wrapper:6:22)
    at Module._compile (module.js:460:26)
    at evalScript (node.js:431:25)
    at startup (node.js:90:7)
gyp: Call to 'node -e "require('nan')"' returned exit status 1. while trying …
Run Code Online (Sandbox Code Playgroud)

node.js npm node-gyp node.js-nan node.js-addon

33
推荐指数
4
解决办法
3万
查看次数

JSON架构到GraphQL架构转换器

是否有任何适配器将JSON Schema模式(例如从Swagger)转换为GraphQL模式?甚至还有一篇关于环绕REST http://graphql.org/blog/rest-api-graphql-wrapper/的官方文章,但通常已经描述过REST ,而Swagger是最流行的格式.如果已经存在实现,不想自己编写它.

jsonschema swagger graphql

16
推荐指数
2
解决办法
1万
查看次数

为什么 Promise 被设计为在内部立即运行

根据MDN:

执行器函数由Promise实现立即执行,传递resolve和reject函数

做出这个决定的真正原因是什么?为什么承诺不偷懒?

javascript promise es6-promise

6
推荐指数
1
解决办法
1122
查看次数

在一个 MongoDB 聚合查询中进行排序和分组

在一个聚合查询中使用$sort$group表现奇怪。

测试数据:

db.createCollection("test");

db.test.insert({
    ts : 100,
    category : 1
});

db.test.insert({
    ts : 80,
    category : 1
});

db.test.insert({
    ts : 60,
    category : 2
});

db.test.insert({
    ts : 40,
    category : 3
});
Run Code Online (Sandbox Code Playgroud)

因此,按ts所有排序看起来不错,但是当我同时使用两者时$sort$group结果顺序错误。询问:

db.test.aggregate([
{
    $sort : {ts: 1}
},
{
    $group:{"_id":"$category"}
}
]);
Run Code Online (Sandbox Code Playgroud)

结果以相反的顺序:

{ "_id" : 1 }
{ "_id" : 2 }
{ "_id" : 3 }
Run Code Online (Sandbox Code Playgroud)

是 Mongo 功能还是我的误解?Maby mongo 首先应用分组,然后无法按缺失字段排序。出于这个原因,可能mongoose禁止使用 …

sorting mongoose mongodb mongodb-query aggregation-framework

4
推荐指数
1
解决办法
3781
查看次数

Swagger-node-express用法

我想分享一下我对https://github.com/swagger-api/swagger-node-express的看法

它在Github上有564颗星,所以我认为使用它是合理的,但是:

  • 为什么我应该使用像addGet/addPost这样的方法,并通过HTTP方法拆分我的控制器
  • 我为什么要让模型涉及路由?
  • 我可以使用验证器进行身份验证,但我必须选择一些应该受到保护的路径.它复制逻辑,存储在swagger json文件中.

是不是有一个静态swagger.json并在其上构建Express路由的正确方法?或者我可能不了解一些实践

api routes node.js express swagger

3
推荐指数
1
解决办法
3973
查看次数

鸭子在haskell打字和

我正在学习Haskell并试图弄清楚如何在haskell中实现"duck typing"和.所以它应该是一个函数,接受char或int,并依赖于concat或添加它.所以函数定义看起来应该是这样的:duckplus ::(AddableUnionType a) - > a - > a - > a

  duckplus 1 "1" -- "11"
  duckplus 1 1 -- 2
Run Code Online (Sandbox Code Playgroud)

是否可以使用模式匹配?

haskell types

2
推荐指数
1
解决办法
231
查看次数

将字符串设置为v8 Array

我使用Nan调查本机Node插件.

所以我试图用以下代码返回Node一个字符串数组:

NAN_METHOD(open) {
    Local<Array> v8Array = Nan::New<Array>();
    std::string str = "erwer";
    v8Array->Set(0, Nan::New<String>(str.c_str()) );
    //v8Array->Set(0, Nan::New<Integer>(12) );
    info.GetReturnValue().Set(v8Array);
}
Run Code Online (Sandbox Code Playgroud)

但它没有编译:

error: no matching function for call to ‘v8::Array::Set(int, Nan::imp::MaybeFactoryBase<v8::String>::return_t)’ v8Array->Set(0, Nan::New<String>(str.c_str()) );

但是将项添加为整数(注释行)可以正常工作.为什么我不能在数组中添加字符串?

c++ v8 node.js-nan

1
推荐指数
1
解决办法
1384
查看次数