Как использовать плагины jQuery с Aurelia - PullRequest
0 голосов
/ 01 мая 2018

Как использовать плагины jquery с Aurelia? В частности, я пытаюсь использовать Notify.js .

Он находится в моем package.json в jspm -> зависимостях следующим образом:

"notifyjs-browser": "npm:notifyjs-browser@^0.4.2"

И я попытался импортировать его следующим образом:

import { notify } from 'notifyjs-browser';

И используйте это так:

$.notify("Test 123", "error");

Тем не менее, я получаю это сообщение об ошибке:

$.notify is not a function

Полагаю, у меня будет такая же проблема с любыми плагинами jQuery в Aurelia. Как мне это решить?

ОБНОВЛЕНИЕ: Кажется, что проблема может существовать только при использовании настройки JSPM, как у меня, как ответ @ peinearydevelopment и другой ответ, который я получил на этот тот же вопрос на Aurelia Страница "Discourse" настаивает, что notifyjs отлично работает с Aurelia CLI. Было бы здорово, если бы мне не пришлось переписывать все, чтобы просто перейти с JSPM на Aurelia CLI. Может кто-нибудь помочь понять это? Переезд в Aurelia CLI кажется очень трудоемким для этой маленькой проблемы.

Ответы [ 2 ]

0 голосов
/ 03 мая 2018

Я не смог заставить Notify.js работать под JSPM , поэтому я решил вместо этого найти что-то еще. Я выбрал плагин aurelia-messages , и он работает нормально. Я все еще хотел бы знать, в чем проблема заставить его работать под JSPM, потому что, вероятно, есть другие библиотеки с той же самой проблемой. Так что если у кого-то есть ответ, пожалуйста, поделитесь.

0 голосов
/ 02 мая 2018

Не имея точной настройки, трудно дать вам полный ответ. Причина ошибки, которую вы получаете, заключается в том, что вы не импортировали jQuery. Без этого Aurelia или, точнее, ее загрузчик ресурсов не будет тянуть этот скрипт в ваше приложение, поэтому notify не является «функцией», поскольку является расширением прототипа jQuery.

Я знаю, что это немного другая настройка, но вот как я заставил этот плагин работать. Я создал новый проект с Aurelia cli.

au new au-notifyjs

Затем я установил нужные пакеты

au install jquery notifyjs-browser

Это установит пакеты npm, обновит ваш файл package.json и обновит файл aurelia.json с соответствующими ссылками на файлы js, а также уведомит файл css.

Затем я обновил файл app.js, чтобы проверить, работает ли он следующим образом:

import 'jquery';
import 'notifyjs-browser';

export class App {
  constructor() {
    this.message = 'Hello World!';
  }

  attached() {
    $.notify('Test 123', 'error');
  }
}

Я запустил приложение и увидел, что уведомление появилось в верхнем правом углу экрана. Полный код проекта можно найти здесь . Надеюсь, это поможет!

...