【问题标题】:how to write file with node webkit js?如何使用节点 webkit js 编写文件?
【发布时间】:2015-12-18 01:42:46
【问题描述】:

当我构建我的应用程序时,'fs' 模块不起作用。因此,它必须写入文件,但是当我启动我的应用程序时,什么也没有发生。但如果我开始我的应用程序:

$ /path/to/app nw

它工作正常。怎么了?

一些代码,我使用 fs 的地方:

function check_prob_2(){
    console.log('Problem 2');
    fs.appendFile('log.txt', 'Checking problem 2: \n\n');
    ...
    }

我使用该功能,但它不起作用。它仅在构建应用程序后才起作用。我用this guide构建它

【问题讨论】:

  • 试试这个路径./log.txt
  • @Alesfatalis 我用 './log.txt' 替换了 'log.txt',但还是不行。
  • webkit.js 的工作方式与我想象的不同。试试 Renzos 的答案,它应该可以工作。

标签: javascript node.js npm node-webkit


【解决方案1】:

试试这个:

包括以下(标准)模块:

var path = require('path');

指定路径如下:

fs.appendFile(path.resolve(__dirname, './log.txt'), 'Checking problem 2: \n\n');

有关 __dirname 全局的更多信息可以在 here 找到。

编辑

由于 __dirname 未在 node-webkit 中定义,您必须使用以下解决方法:

创建一个文件util.js 或者你想怎么称呼它,包含这一行:

exports.dirname = __dirname;

__dirname 变量现在可以在您的主文件中公开:

var dirname = require('./util.js').dirname;

并将代码中的__dirname 替换为dirname

详情here

【讨论】:

  • 它说:__dirname is not defined 但是如果我运行它 $node app.js 它可以工作,是 nwjs 有问题吗?
  • 看来 node-webkit 没有暴露 __dirname。您必须使用解决方法,请参阅我编辑的答案
猜你喜欢
  • 1970-01-01
  • 2014-06-11
  • 2018-02-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多