0

我正在尝试将 toastr 带入我的应用程序。我做了一些非常简单的事情:

     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

我究竟做错了什么?

4

1 回答 1

4

您似乎正在使用require.js,因为错误消息来自它。

Mismatched anonymous define() module意味着toaster.js被定义为匿名模块,但它不是通过require.js模块加载机制加载的。

因此,在您的情况下,有两种解决方案:

  • 如果您使用的是require.js,请使用它来加载toaster.js
  • 如果不打算使用require.js,只需从页面中删除引用,toaster.js就会正常加载
于 2014-02-28T17:56:54.070 回答