标签: node-webkit

如何在node-webkit中获取工作目录

我有一个可以从命令行运行的简单程序.此程序用于markdown文件的实时预览.当我打包应用程序时

cat $NW/nw marknow.nw > marknow
Run Code Online (Sandbox Code Playgroud)

并从不同的位置运行:

./build/marknow ../relative/path/to/file.md
Run Code Online (Sandbox Code Playgroud)

我无法获得当前的工作目录.

process.cwd()
Run Code Online (Sandbox Code Playgroud)

正在返回/ tmp/something ???

如何在node-webkit中获取工作目录?./build/marknow ../relative/path/to/file.md调用的目录.

working-directory node-webkit

6
推荐指数
2
解决办法
8888
查看次数

使用Jam.js,require.js和node-webkit没有冲突

我目前正在编写一个Web应用程序,后来我打算使用node-webkit进行部署.我希望尽可能少地使用node.js,以便我可以轻松地部署到Web而无需重写大部分代码.

我正在使用Jam.js作为包管理器.显然存在node.js require与require.js冲突的问题require.使用requirejs而不是require似乎是一个很好的选择.但是,Jam.js编译require.config.js文件并在其中使用require(而不是requirejs).

目前,我必须做的window.require = undefined;是让Jam.js的require.js在node-webkit中工作.

有没有办法让Jam.js使用requirejs而不是require?编译require.config.js文件?

或者是否有一个不同的解决方案,让我使用Jam.js和node.js,require而不必做类似的事情window.require = undefined;?我发现node-webkit FAQ中提供的解决方案并不令人满意.

谢谢你的帮助!

javascript node.js requirejs node-webkit jamjs

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

设置加载node-webkit窗口的背景颜色

在node-webkit中,如何在页面加载时设置窗口的背景颜色?它似乎总是白色的,但我要么是透明的,要么(在我的情况下)是绿色的.

我尝试过设置package.json transparent: truewindow选项,但似乎没有任何效果.

node-webkit

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

在node-webkit中没有"打印对话框"打印

在使用node-webkit for windows构建应用程序时,我需要在没有对话框的情况下进行打印.这可能吗?

类似于:http://drziegler.net/kiosksilent-printing-in-google-chrome/

任何帮助表示赞赏.

javascript webkit chromium chromium-embedded node-webkit

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

node-webkit C++插件可以写入在JavaScript上下文中创建的ImageData对象吗?

我正在用C++编写一个node-webkit插件来解码图像数据并将一组像素数据返回给调用者.以下代码(为简洁而删节)工作得很好:

caller.js

var image_data = canvas_context.createImageData(w, h);
var addon = require('decoder.node');
var decoder = new addon.Decoder();
var pixel_array = decoder.getPixelArray();
image_data.data.set(pixel_array);
canvas_context.putImageData(image_data);
Run Code Online (Sandbox Code Playgroud)

decoder.cpp

Handle<Value> Decoder::getPixelArray(const Arguments &args) {
    HandleScope scope;

    // unwrap self
    DecoderObj *obj = ObjectWrap::Unwrap<DecoderObj>(args.This());
    if (obj == NULL) return scope.Close(Number::New(1));

    // get pointer to pixel data
    PixelPtr *ptr = NULL;
    uint64_t len = 0;
    obj->GetPixelsPtr((PixelPtr*)&ptr, &len);

    // create javascript native array
    // from http://luismreis.github.io/node-bindings-guide/docs/returning.html
    v8::Handle<Value> fun_val = Context::GetCurrent()->Global()->Get(String::New("Uint8ClampedArray"));
    v8::Handle<Function> fun = v8::Handle<Function>::Cast(fun_val);
    const unsigned argc = 1; …
Run Code Online (Sandbox Code Playgroud)

javascript c++ add-on node.js node-webkit

6
推荐指数
0
解决办法
490
查看次数

是否可以使用nw.js构建控制台应用程序?

有没有办法让nw.js的控制台,无GUI,无窗口应用程序?

我们最初使用App.js制作了一些内部实用程序,最近转换为nw.js(以前称为node-webkit).该工具由GUI应用程序和仅控制台(集成到构建过程)对应组成.App.js能够在控制台中执行任何类似nodejs的*.js,但在nw.js中,应用程序似乎必须拥有一些主要的*.html和窗口.即使node-main在清单中,它也需要main字段存在.

javascript node-webkit nw.js

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

在OS X上创建类似窗口的菜单

我想像这个应用程序一样创建一个相同类型的托盘菜单.因为它位于使用node-webkit/nw.js的应用程序列表中,所以我认为这是可能的.我查看了所有文档,但找不到任何关于如何实现这一点的内容.搜索Google也不是很有成效.

也许你们其中一个人之前做过这件事并且可以把我送到正确的方向?

macos node.js node-webkit nw.js

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

node-webkit相当于sinatra?

我一直在考虑学习如何基于网络技术制作简单的Mac OS X应用程序,我遇到了node-webkit,这看起来很引人注目.但是,我最近投入了学习Sinatra/Ruby的基础知识,我想继续学习这门课程.

对于使用Sinatra的开发人员,是否存在"node-webkit等效"?或者,是否有推荐的方法使用Sinatra框架(或Ruby)来构建基本上是Web包装器的OS X应用程序?

ruby webkit sinatra chromium node-webkit

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

如何打印Node WebKit版本

如果我想检查我正在使用哪个Node WebKit版本,我将如何从命令行执行此操作?

node-webkit

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

Node-webkit子项生成UNKNOWN错误

我正试图在我的Windows文件系统上的其他地方启动.exe.

spawn = require('child_process').spawn;

game.process = spawn(path.join(config.values.armaPath, 'arma3.exe'), {
    detached: true
});
Run Code Online (Sandbox Code Playgroud)

我把它包装在try/catch中,我得到的错误没有帮助:

Error {code: "UNKNOWN", errno: "UNKNOWN", syscall: "spawn", stack: (...), message: "spawn UNKNOWN"}code: "UNKNOWN"errno: "UNKNOWN"message: "spawn UNKNOWN"
Run Code Online (Sandbox Code Playgroud)

我已经确认.exe的path.join是正确的.

我也试过了

game.process.stdout.on('error'...
Run Code Online (Sandbox Code Playgroud)

但那永远不会开火.

编辑,我也尝试了另一种方法:

var child = execFile(path.join(config.values.armaPath, 'arma3.exe'),
    function(error,stdout,stderr) { 
        if (error) {
            console.log(error.stack); 
            console.log('Error code: '+ error.code); 
            console.log('Signal received: '+ error.signal);
        } 
        console.log('Child Process stdout: '+ stdout);
        console.log('Child Process stderr: '+ stderr);
    }
); 
Run Code Online (Sandbox Code Playgroud)

但是这只是相同代码的错误,就像在调用spawn函数的回调之前抛出了try/catch块错误.

有趣的是,我尝试在同一目录中调用.exe,它确实有效......

spawn node.js node-webkit

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