标签: node-webkit

获取node-webkit中当前应用程序的路径

在node-webkit中,有没有办法找到当前应用程序的路径?在node.js中,您可以使用__dirname查找当前应用程序的路径,但在node-webkit中,变量__dirname似乎未定义.

以下node.js脚本正确打印文件路径:

console.log(__dirname)

以下node-webkit脚本无法正确打印文件路径:

<script type = "text/javascript">
    alert(__dirname);
</script>
Run Code Online (Sandbox Code Playgroud)

在node-webkit中找到当前应用程序路径的正确方法是什么?

node-webkit

8
推荐指数
2
解决办法
8730
查看次数

CSS url()的<base>标签

我正在寻找一种方法来引用/"自定义"网址.我使用的东西就像本地浏览器和/路径引用/ unix路径(是的,os根路径!),这绝对不是我放置文件的地方.

虽然我可以在html中解决这个问题,<base>我不明白这是否适用于CSS url(),或者是否有类似的东西允许我指定完整的URL.

我现在对任何解决方案持开放态度,即使使用SASS也会使用一些自定义函数来重写任何url,并用完整路径替换它.

为了澄清我所问的更多内容,这里是我的问题的一个例子以及我想如何解决它:

/mnt/projects/web/myproject/index.html

...
<base href="/mnt/projects/web/myproject/" />
...

/mnt/projects/web/myproject/style.scss

$base_url: "/path_to_root_folder_dinamically_fetched_on_client_pc/";
body
{
  background-image: url("#{$base_url}mydir/myimage.png");
}
Run Code Online (Sandbox Code Playgroud)

最好的选择显然是url(/mydir/myimage.png)有效的,但通过网络阅读,我明白它没有.

谢谢你的任何建议.

更新1:

对不起,答案都很好但没有上下文,很难回答这个问题.让我解释一下:我正在使用一个软件(node-webkit)在本地运行一个"网站"(好吧,它是一个应用程序).这或多或少是具有一些附加功能的自定义铬实例.

最大的问题是node-webkit使用file:///协议,所以是的,文件协议IS的根路径实际上是你的操作系统的根,C:/ on windows,/在unix系统上,这不是直接问题因为这是一个本地应用程序(用户必须以某种方式安装它,我已经有权访问这个系统).

第二个问题是,当您将应用程序打包到单个文件中时,当用户运行它时,它会在临时目录中解压缩,以通过file:///协议实际运行网站,例如/ tmp/randomnumber/index html的

因此,使用/它不是一个有效的选项,但是因为我的样式表足够传播(它是一个复杂的应用程序,我有类似layouts/something.css main.css和类似的东西),这是一个很大的问题,不得不一直重写../为每个网址.

我有什么选择?在这种情况下,javascript选项并不像你想象的那么糟糕.另一个想法是运行一个非常小的网络服务器,它应该只提供静态的东西,但这需要是可移植的,跨平台的,不需要安装.

我认为用基本的html和CSS解决这个问题是可能的,但它看起来并非如此,虽然我可以通过javascript添加"base"标签,但CSS并没有类似的东西.

html css node-webkit

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

Node-Webkit:如何在本地文件系统中创建文件?

使用Node-Webkit,我正在尝试从web worker js文件中创建和写入用户定义的本地文件夹中的文本文件.我试着用requestFileSystemSync(),.root.getFile(),.createWriter()等,但我不知道在哪里这个文件保存(可以将其写入到一个定义的本地文件夹,或者是"沙箱",以一种特殊的文件夹位置?).

任何人都可以提供有关我从Web worker到任意本地文件夹位置创建文本文件的最佳方法的建议吗?也就是说,在沙盒文件系统之外的本地文件系统中?

谢谢.

javascript node-webkit

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

Node.js在子文件夹中的npm依赖项

我有一个项目,我使用node-webkit.node-webkit允许npm包用于开发桌面应用程序.我利用grunt来构建我的应用程序.

我的文件夹结构目前看起来像这样:

project root
    node_modules/ (1)
    package.json  (1)
    App/
        node_modules/ (2)
        package.json  (2)
        bower.json
        bower_components/
        ... 
        controllers/
        filters/
        ...
        app.js
Run Code Online (Sandbox Code Playgroud)

应用程序本身的npm依赖项保存在App文件夹中,但构建项目的dev依赖项与应用程序源代码无关,因此我将它们保存在根文件夹内的node_modules(1)中.我也知道在package.json文件中,可以表达依赖关系和dev依赖关系,正是出于这个原因.我宁愿在根目录中有一个表示所有依赖项的package.json文件,包括dev依赖项,但我宁愿在文件夹级别上分离这些依赖项.

出现两个问题:

  1. 这是组织我的npm依赖项的好方法吗?如果是的话,太棒了?如果不是,我期望:

  2. 什么是组织我的依赖项的更好方法?是否可以指定dev依赖项进入文件夹a,"常规"依赖项进入文件夹b?如果是这样,我该怎么做?

如果有人想知道,这是我正在谈论的项目:

https://github.com/michahell/pinbored-webkit

[为了清晰起见,更新了包含app.js的文件夹结构]

node.js npm node-webkit

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

如何使用NW.js(或电子)向ubuntu app指标添加文本?

我知道可以为node-webkit应用程序创建一个托盘图标,如下所示:

var tray = new gui.Tray({ title: 'Tray', icon: 'img/icon.png' });
Run Code Online (Sandbox Code Playgroud)

但在Ubuntu上,标题将不会显示.反正有没有实现这个目标?

我想使用托盘图标来显示动态信息,通过更改图标本身会非常烦人.

如果有办法在那里实现它,我也可以使用电子.

编辑:

对于那些有兴趣参与的人:我在github上为电子创造了一些问题.

ubuntu node.js node-webkit nw.js electron

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

使用WebRTC使node.js应用程序成为PEER

所以,我有一个Web应用程序,它生成大量的颜色信息缓冲区,我想发送给在本地网络中另一台机器上运行的节点应用程序.Web套接字对我来说似乎不够快.我当时希望使用UDP,似乎WebRTC是从浏览器中实现这一目标的唯一方法.值得注意的是,WebRTC只是PEER到PEER(浏览器到浏览器).我想,我可以使用node webkit来模仿我的另一个"PEER".在我的节点应用程序中,我可以处理"信令"并让它自己设置在我的网络应用程序的RTCPeerConnection中.因此,我可以将我的数据从我的网络应用程序发送到我的节点应用程序(本地网络).在某些情况下,我有一台计算机运行本机软件来驱动灯具,我想使用网络应用程序来控制灯光.

为了解决问题,如何从浏览器到节点webkit应用程序进行RTCPeerConnection?

任何帮助将非常感谢.

谢谢!

-Jake

javascript websocket webrtc node-webkit

8
推荐指数
2
解决办法
2599
查看次数

未捕获的AssertionError:路径必须是Require.js中的字符串错误

我在使用node-webkit的简单示例中遇到以下错误:

Uncaught AssertionError: path must be a string
Run Code Online (Sandbox Code Playgroud)

的index.html

//base.js

require(["test"], function(test) {
    test.init();
});

//test.js

define(function(){
   window.c = window.console;
   return {
       init: function(){
           c.log('test.init');
       },

       destroy: function(){
           c.log('test.destroy');
       }
   }
});
Run Code Online (Sandbox Code Playgroud)

javascript requirejs node-webkit

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

如何使用node-webkit与快速服务器?

我正在使用nodejs和express开发一个应用程序.
我想将它导出为带有node-webkit的包.

如何启动服务器并使用它运行应用程序?

node.js express node-webkit

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

最小化Node js应用程序.js文件?

我们使用node webkit开发了一个桌面应用程序,它运行正常.我唯一的疑问是,我们是否需要对作为节点js服务器组件的一部分编写的.js文件进行缩小.我们通常在主要为UI视图编写的javascript上执行缩小,以减少在加载HTML的相关javascripts期间的有效负载,并且还隐藏脚本中的编码信息以使其难以修改.

因此,我们需要在节点js服务器端.js文件上执行类似的连接和缩小过程,然后将节点webkit可执行文件共享给Customer.如果没有节点js文件的缩小,应用程序就可以正常工作.

所以,回到我的问题 - 我们是否需要为节点js应用程序执行javascripts连接和缩小?

node.js node-webkit

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

Node.js - 从服务器读取并下载目录中的所有文件并在本地保存

我有一个Node Webkit桌面应用程序,需要从服务器下载文件并在用户离线时本地保存.当我知道文件名是什么时,我可以下载并保存文件,但是如何读取服务器上目录的内容以便下载每个文件?

function cacheFiles(filelink, filepath, cb) {
    var path_array =  filelink.split("/");
    var foldername =  path_array[path_array.length - 2]

//create new folder for locally html files
var newdir = filepath + '/' + foldername;
if (fs.existsSync(newdir)){
    alert('file already exists, cannot cache this file.');
} else {
    fs.mkdirSync(newdir);
}
//download and save index.html - THIS WORKS
var indexfile = fs.createWriteStream(newdir+'/index.html');
var request = http.get(filelink, function(response) {
    response.pipe(indexfile);
    indexfile.on('finish', function() {
        indexfile.close(cb);
    });
});
//read contents of data folder - THIS DOESN'T WORK
var …
Run Code Online (Sandbox Code Playgroud)

javascript node.js node-webkit

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

标签 统计

node-webkit ×10

node.js ×5

javascript ×4

css ×1

electron ×1

express ×1

html ×1

npm ×1

nw.js ×1

requirejs ×1

ubuntu ×1

webrtc ×1

websocket ×1