Задать вопрос

Что не так с подключением модуля node js?

Первый запуск скрипта bg.js проходит без проблем, но после перезагрузки вылетает ошибка:

Error: Invocation of form nw.Window.open(string, , function) doesn't match definition nw.Window.open(string url, optional object options, optional function callback) at Object.normalizeArgumentsAndValidate (extensions::schemaUtils:112:11) at Object. (extensions::binding:414:30) at Promise (D:\wasa2\documents\projects\postup\lib\wn_.js:5:19) at Object.exports.winOpen (D:\wasa2\documents\projects\postup\lib\wn_.js:4:12) at fl.checkPath.catch.then (chrome-extension://icbbpfpgimfaggfemjancddfhmipjkjm/bg.js:22:19)

причем если все собрать в один файл работает без проблем.

bg.js:

'use strict';

var fs = require('fs'),
    wn = require('D:\\wasa2\\documents\\projects\\postup\\lib\\wn_.js'),
    fl = require('D:\\wasa2\\documents\\projects\\postup\\lib\\fl_.js').fl,
    path_ = nw.App.dataPath + '\\user_',
    set = {
        "title": "PostUP",
        "show": true
    };

fl.checkPath(path_)
    .catch((ans) => {
        console.dir(ans);
        if (ans.code === 'ENOENT') {
            return fl.greatePath(path_);
        } else {
            return Promise.reject(ans);
        }
    })
    .then(() => {
        return wn.winOpen('D:\\wasa2\\documents\\projects\\postup\\html\\index.html', set);
    })
    .then((w) => {
        console.dir(w);
    })
    .catch((ans) => {
        console.dir(ans);
    });


fl_.js :
'use strict';
//проверка наличия папки с настройками
exports.fl = {
    checkPath: (path) => {
        return new Promise((resolve, reject) => {
            fs.stat(path_, (err, data) => {
                if (data) {
                    resolve(data);
                } else {
                    reject(err);
                }
            });
        });
    },
    //создаем папку
    greatePath: (path) => {
        return new Promise((resolve, reject) => {
            fs.mkdir(path_, (data) => {
                if (data) {
                    resolve(data);
                } else {
                    reject(data);
                }
            });
        });
    }
}


wn_.js:
'use strict';

exports.winOpen = (url, setings) => {
    return new Promise((resolve, reject) => {
        nw.Window.open(url, setings, function(w) {
            if (w) resolve(w);
            else reject();
        });
    });
};
  • Вопрос задан
  • 130 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
abyrkov
@abyrkov
JavaScripter
Трудно понять, что у вас не так, но, однозначно, похоже у вас вызывается wn.winOpen без set. Причина этого мне непонятна. Попробуйте запротоколировать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы