Как импортировать и использовать модуль с использованием ядра JS в NativeScript - PullRequest
0 голосов
/ 28 марта 2019

Проблема: использование модулей NPM из NativeScript с использованием Core Javascript

Я новичок в NativeScript и пытаюсь использовать модуль FancyAlert NPM:

https://github.com/NathanWalker/nativescript-fancyalert

В своем файле readme они показывают очень простой пример использования TypeScript, например:

import { TNSFancyAlert, TNSFancyAlertButton } from "nativescript-fancyalert";
.
.
.
public showSuccess() {
    TNSFancyAlert.showSuccess(
      "Success!",
      "Fancy alerts are nice.",
      "Yes they are!"
    );
  }

и в своем XML-файле они просто называют его как обычно:

 <Button text="Alert Success" tap="{{showSuccess}}" />

Как преобразовать это в ядро ​​JS

Так что я не использую TypeScript. Я не могу заставить это простое предупреждение работать. Я пробовал:

в моем main-view-model.js

const fancyAlert = require("nativescript-fancyalert");

.
.
.

fancyAlert.showSuccess(
                    "Success!",
                    "You are logged in.",
                    "Success!"
                  );

не работает.

Может кто-нибудь помочь мне использовать этот модуль с использованием ядра JS?

Спасибо.

1 Ответ

1 голос
/ 28 марта 2019

Попробуйте: fancyAlert.TNSFancyAlert.showSuccess().

[РЕДАКТИРОВАТЬ] Это действительно должно сработать, поскольку это зеркало решения, указанного в заявке на выпуск , связанной с Нарендрой Монгия в вашем вопросе. Следует помнить, что это Обещание, поэтому давайте добавим туда блок catch(), чтобы выявить ошибки.

const fancyAlert = require("nativescript-fancyalert");

// ...

fancyAlert.TNSFancyAlert.showSuccess(
    "Success!",
    "You are logged in.",
    "Success!"
)
.then((resolution) => {
    console.log("[TNSFancyAlert] showSuccess() succeeded.", resolution);    
})
.catch((error) => {
    console.error("[TNSFancyAlert] showSuccess() failed.", error);
});

Вы также можете обнаружить, что просто вызываете его не с того места в коде.

...