小编Ada*_*luk的帖子

Node.js Express3 - 用于向所有渲染请求添加渲染数据的中间件

是否可以通过快速中间件或其他方法将res.render应用程序路径中的每个调用添加渲染数据(第二个选项).

我的应用程序使用护照进行身份验证,我希望中间件始终将用户信息附加到每个呈现的模板.

目前我的每个电话res.render看起来都差不多.我想删除user : req.user并添加到中间件功能.

// Page 1
res.render("somepage1",{data : "somepage1", user : req.user});

// Page 2
res.render("somepage2",{data : "somepage2", user : req.user});
Run Code Online (Sandbox Code Playgroud)

node.js express

23
推荐指数
2
解决办法
7119
查看次数

Autoconf检查程序,如果没有找到则失败

我正在创建一个项目并使用GNU Autoconf工具进行配置和制作.我已经设置了所有的库检查和头文件检查,但似乎无法弄清楚如何检查系统上是否存在可执行文件,如果它不存在则会失败.

我试过了:

AC_CHECK_PROG(TEST,testprogram,testprogram,AC_MSG_ERROR(Cannot find testprogram.))
Run Code Online (Sandbox Code Playgroud)

configure它运行并输出时:

Checking for testprogram... find: `testprogram. 15426 5 ': No such file or directory
Run Code Online (Sandbox Code Playgroud)

但不会失败.

linux autoconf

15
推荐指数
2
解决办法
6329
查看次数

在v8和Node.js中保存函数回调

如何在v8包装对象中保存javascript提供的回调,以便将来不仅在当前函数调用中使用.基本上我想用C++创建一个javascript对象,当用新的Object()创建时,提供一个函数回调.然后在整个c ++对象生命中使用该回调.见下面的例子:

我遇到的问题是当我尝试在不同的静态函数中使用Handle对象时它会出错.

在节点js文件中:

var Object = require("./customModule");
var obj = new Object(function(){console.log("Callback called...")})

// Emit callback
obj.emitCallback();
Run Code Online (Sandbox Code Playgroud)

在c ++模块头文件中

class Object : public node::ObjectWrap {

public:

    static void Init(v8::Handle<v8::Object> target);

    Object();

protected:

    v8::Handle<v8::Function> m_faceDetectCallback;

    static v8::Handle<v8::Value> New(const v8::Arguments& args);

    static v8::Handle<v8::Value> onEmitCallback(const v8::Arguments& args);
}



v8::Handle<v8::Value> Object::New(const v8::Arguments& args) {

    HandleScope scope;

    Object* obj = new Object();
    obj->Wrap(args.This());

    obj->m_faceDetectCallback = Handle<Function>::Cast(args[0]);

    //obj->m_faceDetectCallback = v8::Persistent<Function>::Cast(args[0]);

    // Works fine here.
    const unsigned argc = 1;
    Local<Value> argv[argc] = { Local<Value>::New(String::New("hello world")) …
Run Code Online (Sandbox Code Playgroud)

javascript v8 node.js

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

使用Oauth将图像发布到Node.js中的twitter

我正在尝试使用Oauth模块将图像发布到Twitter.这是我有的:

它引发403错误,我知道我在如何将媒体添加到帖子时做错了但我不知道从哪里开始.

var https = require('https');
var OAuth= require('oauth').OAuth;
var keys = require('./twitterkeys');
var twitterer = new OAuth(
           "https://api.twitter.com/oauth/request_token",
           "https://api.twitter.com/oauth/access_token",
           keys.consumerKey,
           keys.consumerSecret,
           "1.0",
           null,
           "HMAC-SHA1"
          );


var params = {
    status : "Tiger!",
    media : [("data:" + mimeType + ";base64,") + fs.readFileSync(path,'base64')]
};

//function(url, oauth_token, oauth_token_secret, post_body, post_content_type, callback)
twitterer.post("https://upload.twitter.com/1/statuses/update_with_media.json",
           keys.token, keys.secret, params, "multipart/form-data",
           function (error, data, response2) {
           if(error){
               console.log('Error: Something is wrong.\n'+JSON.stringify(error)+'\n');

           }else{
               console.log('Twitter status updated.\n');
               console.log(response2+'\n');
           }
           });
Run Code Online (Sandbox Code Playgroud)

这是我相信我要做的事情,但我不知道如何在Node.js Oauth模块中做到这一点. 使用Twitter + OAuth将图片发布到Twitter

twitter node.js twitter-oauth

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

如何选择autoconf构建目录?

有没有办法设置autoconf生成目标文件的位置.我想让autoconf在src/build /而不是src /中创建所有目标文件

我已经尝试过设置VPATH,但似乎没有做任何事情.VPATH =构建

c++ autoconf

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

JavaScript 解构器

有什么方法可以在 JavaScript 中为对象定义析构函数,当对象被丢弃时会自动调用该析构函数吗?

我像这样创建我的 obj:

function SomeObject(){
    this.test = null;

    this.method = function(){
      alert("Testing Method");
    };

    this.destroy = function(){
      // Destroy stuff here
    };
}

var test = new SomeObject();
Run Code Online (Sandbox Code Playgroud)

我可以在需要时调用 destroy,但是当用户退出页面时我无法调用 destroy。我需要这样做的原因是我使用 ajax 调用 php 中的函数来保存会话数据。我希望它在处理完特定的 js 对象后销毁特定的会话数据。

有任何想法吗?

javascript ajax

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

在HighCharts中链接多个图表控件

在我的网页上,我显示了5个不同的折线图,带有可缩放的X轴.每个图表还有许多系列,对于所有图表都是相同的.

我正在寻找控件,你可以在每个图形中显示/隐藏一系列和缩放功能,无论我改变哪个图形控件.

这是Highcharts的支持吗?

javascript highcharts

5
推荐指数
2
解决办法
8505
查看次数

c ++ Template []重载

我有一个类,它具有括号运算符的模板函数.它编译但我无法弄清楚如何访问它.

见下面的例子:

   class Test {
    public:
        template <class T> pServiceState operator[] (const std::string project) {
             return getService<T>(project);
        }

       template <class T> pServiceState getService(const std::string project) {
             pService s = get_service<T>();
             if(s == NULL) throw "Service does not exist on server";
             return s->state(project);
        }

    }

int main(){

    states.getService<content_uploader>("asd"); // Works
    states<content_uploader>["asd"]; // Throws syntax errors.

/*
error: expected primary-expression before ‘>’ token
error: expected primary-expression before ‘[’ token
*/


}
Run Code Online (Sandbox Code Playgroud)

感谢任何帮助,亚当

c++ templates

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

Automake向install.sh添加标志

我正在使用autotools来构建一些我希望只有在更改它们时才能安装标头的软件包.

我看到只有不同的安装install.sh标志-C,但我如何在autotools中设置该标志?

在我的Makefile.am中,如果有帮助,我提供nobase_libhello_include_HEADERS = file1.h file2.h.

automake makefile autotools

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