【问题标题】:Noty (notification library) is not defined - AngularJS Web ApplicationNoty(通知库)未定义 - AngularJS Web 应用程序
【发布时间】:2018-07-11 05:07:57
【问题描述】:

我目前正在从头开始制作一个 AngularJS Web 应用程序,并且是 AngularJS 的新手,这很重要,因为我总是会遗漏一些基本的东西。

问题是这样的:

我已经安装了 Noty 库 (npm install noty) 并为一个简单的 Noty 对话框编写了代码:

var confirmSubmit = new Noty({
    text: 'Your feedback has been submitted!',
    buttons: [
        Noty.button('Close', 'btn btn-default', function() {
            confirmSubmit.close();
        })
    ]
});

此代码位于除主 app.js 之外的已集成的有效 JavaScript 文件中。格式:

(function() {
    var app = angular.module('JStest-reviews', []);
    ...
})();

但是,当我在 Chrome 中启动 Web 应用程序时,我在控制台中收到以下错误:

Uncaught ReferenceError: Noty is not defined

除了安装 Noty 和创建 Noty 对象之外,官方文档 (https://ned.im/noty/#/installation) 几乎没有描述需要什么。我尝试使用安装文档中提供的其他语句,例如:

import Noty from 'noty';const Noty = require('noty'); 在对象创建之前,但都没有解决错误。

由于我的 Web 应用程序是从头开始制作的,因此不会自动创建 package.json 文件,我想知道是否需要其中的代码来完成这项工作(现在我手动创建的只有名称、版本等。信息)。


提前感谢您的建议/解决方案

感谢您的宝贵时间和帮助。

【问题讨论】:

  • 如何将脚本加载到页面中?你在使用像 Webpack 或 Browserify 这样的打包工具吗?
  • 我将它加载到 index.html 文件头标签中,例如:。 Noty 刚刚通过 npm 包含在内。
  • 好的,你也加了<script src="path/to/noty.js"></script>吗?
  • 我没有。我现在就试试。
  • 知道了,我正在导入脚本,就像文档中所说的那样:<script src="lib/noty.js" type="text/javascript"></script> 当我需要将其设为自定义路径时。看起来错误消失了。谢谢!

标签: javascript angularjs npm defined noty


【解决方案1】:

@Phil 给出的大概答案:

Noty 脚本包含应包含 Noty 库文件的实际路径。

例如对我来说,解决方法是:

<link href="node_modules/noty/lib/noty.css" rel="stylesheet">
<script src="node_modules/noty/lib/noty.js" type="text/javascript"></script>

而不仅仅是:

<link href="lib/noty.css" rel="stylesheet">
<script src="lib/noty.js" type="text/javascript"></script>

(来自官方文档https://ned.im/noty/#/installation

【讨论】:

    猜你喜欢
    • 2018-07-13
    • 2021-04-08
    • 2015-09-14
    • 2020-04-03
    • 1970-01-01
    • 1970-01-01
    • 2016-09-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多