我一直试图在aurelia/typescript应用程序中使用NOTY。使用npm安装包并使用requirejs将其拉入应用程序。
不管我怎么努力,我都没能使它起作用。为了将它导入到需要引用的文件中,我尝试了以下两种方法
尝试1

import * as Noty from 'noty';

这似乎创建了正确的引用,我可以在代码中看到这一点。当我尝试使用它时,我没有得到任何构建错误,一切看起来都很好。
typescript - 在Aurelia/Typescript应用程序中使用noty-LMLPHP
但是当我运行这段代码时,我得到一个错误,它指出-"Noty is not a constructor"
尝试2
import Noty from 'noty'
typescript - 在Aurelia/Typescript应用程序中使用noty-LMLPHP
这种方法抱怨没有默认的导出成员。
我尝试的另一个变化是import { Noty } from 'noty';这给了我一个类似的回答
typescript - 在Aurelia/Typescript应用程序中使用noty-LMLPHP
我不知道我遗漏了什么,但是我们非常感谢你提出的任何建议。短暂性脑缺血发作
更新1
添加到aurelia.json文件中
typescript - 在Aurelia/Typescript应用程序中使用noty-LMLPHP
未加载Noty包
typescript - 在Aurelia/Typescript应用程序中使用noty-LMLPHP
注:如果需要查看index.d.ts文件,则添加到noty的链接。

最佳答案

听起来好像RequireJS的包映射指向了错误的文件(可能是index.d.ts文件)。
我刚刚看了一下‘noty’npm包,看起来你对requirejs的映射应该是这样的:

{ "name": "noty", "path": "../node_modules/noty/lib", "main": "noty.min" }

typescript关心*.d.ts文件,但requirejs不是typescript,它处理将文件加载到浏览器中,所以它只关心javascript文件。
顺便说一句,你没有立即摸索到网络平台的疯狂是可以原谅的。

关于typescript - 在Aurelia/Typescript应用程序中使用noty,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54575046/

10-11 14:46