Можно ли использовать файловую систему в SDK-версии NWjs, но не в обычной?

По какой-то причине мое приложение NWjs ведет себя по-разному в "нормальной" (не SDK) версии NWjs, для одной из которых я не могу использовать файловую систему (файлы не сохраняются). Вот мой код (машинопись):

/// <reference path="./node.d.ts" />

import fs = require("fs");
function LoadFile(){
(document.getElementById("txt") as HTMLInputElement).value = fs.readFileSync((document.getElementById("filename") as HTMLInputElement).value+".txt", "utf8");

}
function SetLineEnds(content:string, windows:boolean){
    let result:string = content.replace(/\r\n/gm, "\n");
    if (windows) {
        result = result.replace(/\n/gm, "\r\n");
    }
    return result;
}
function SaveFile(){
    let file = (document.getElementById("txt") as HTMLInputElement).value;
    file = SetLineEnds(file,true);
    fs.writeFileSync((document.getElementById("filename") as HTMLInputElement).value+".txt",file);
}

Мой index.html:

<html>
<head>
  <title>Textedit</title>
  <script type="text/javascript" src="code.js"></script>
</head>
<body>
  <textarea id="txt" rows="25" cols="80" wrap="soft"></textarea><br />
  <input type="text" id="filename" value="joke" /><input type="button" id="save" value="Save" onclick="SaveFile()" /><input type="button" name="load" value="Load" onclick="LoadFile()" />
</body>
</html>

И мой пакет.json:

{
"name"    : "textedit",
"main"    : "index.html",
"nodejs"  : true,
"window"  : {
              "title" : "Textedit",
              "width" : 800,
              "height": 600
            }
}

Как вы можете видеть, я пытался включить Node, установив для nodejs значение true, потому что, возможно, он не был включен по умолчанию в не-SDK-версии NW по соображениям безопасности или что-то в этом роде, но нет, он все равно не работал, Все, что я пытаюсь сделать, - это написать простой текстовый редактор, чтобы начать работу. Он работает в SDK-версии узла, но не после копирования в не SDK-версию.

0 ответов

Другие вопросы по тегам