toastr не определен при использовании toastr.js

Я пытаюсь добавить тостер в свое приложение. Я сделал что-то очень простое:

     bundles.Add(new ScriptBundle("~/Content/example-scripts").Include(
            "~/Areas/Examples/Scripts/vendor/*.js"
                   ));

Где эта папка содержит toastr.js. И тогда, на мой взгляд:

   @Scripts.Render("~/Content/example-scripts")

Я вижу, что toastr загружается в Chrome, но когда я вызываю toastr из моей модели представления:

$(document).ready(function () {
    toastr.success('sup');
    ko.applyBindings(new ViewModel());
});

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

Uncaught Error: Mismatched anonymous define() module: function ($) {
        return (function () {
            var version = '2.0.1';
            var $container;
            var listener;
            var toastId = 0;
            var toastType = {
                error: 'error',
                info: 'info',
                success: '...<omitted>...ch require.js:166
Uncaught ReferenceError: toastr is not defined sampleVm.js:36

Что я делаю неправильно?

1 ответ

Решение

Кажется, вы используете require.js, потому что сообщение об ошибке исходит от него.

И Mismatched anonymous define() module означает, что toaster.js был определен как анонимный модуль, но не был загружен с помощью механизма загрузки модуля require.js.

Таким образом, есть два решения для этого в вашем случае:

  • Если вы используете require.js, используйте его для загрузки toaster.js
  • Если он не предназначен для использования require.js, просто удалите ссылку со своей страницы, и toaster.js загрузится очень хорошо
Другие вопросы по тегам