PubNub Node util.inherit не является функцией - PullRequest
0 голосов
/ 22 января 2019

После добавления узла pubnub sdk в мой проект nativescript

npm install pubnub

я получаю следующее сообщение об ошибке:

> System.err: Error: Parsing XML at 58:9 System.err:  > util.inherits is
> not a function

Мне просто нужно это вот так:

const PubNub = require("pubnub");

Есть идеи, как это могло произойти?

1 Ответ

0 голосов
/ 31 января 2019

В настоящее время SDK PubNub Node не совместим с NativeScript v5. Он совместим с NativeScript v3. PubNub изучает изменения, которые могут быть сделаны для совместимости с NativeScript v5.

Обходной путь @Jon_not_doe_xx:

В файле webpack.config.js добавьте это в заголовок:

const shims = require('nativescript-nodeify/shims.json');
const aliases = {};

for (const key of Object.keys(shims)) {
    const value = shims[key];
    aliases[key + '$'] = value;
}

aliases['inherits$'] = 'inherits/inherits_browser';

// Remove hook, as this will only cause problems at this point.
// Checking and deleting within webpack ensures 
//   that it will be deleted during a cloud build.

let fs = require("fs");
let process = require("process");

if (fs.existsSync(__dirname + "/hooks/after-prepare/nativescript-nodeify.js")) {
    process.stdout.write("Found evil hook, deleting...\n");
    fs.unlinkSync(__dirname + "/hooks/after-prepare/nativescript-nodeify.js");
    process.stdout.write("Should be fixed now.\n");
}

else process.stdout.write("Hooks seem clean, moving on.\n");

Кроме того, измените объект псевдонима внутри объекта разрешения в файле webpack.config.js:

alias: {
    '~': appFullPath,
    '@': appFullPath,
    ...aliases 
},
...