jquery - Angular 6 ReferenceError: $ is not defined error with JQuery
问题描述
我已经安装了带有基础的 Angular 6,但是 JQuery 出现错误。
未捕获的语法错误:意外标识符 ReferenceError:未定义 $
在我的组件中,我有
declare var $:any
onNgInit () {
$(document).foundation()
}
我的 angular.json 中有所有导入
scripts : [
"node_modules/jquery/dist/jquery.js"
]
我已经尝试了我在互联网上找到的所有内容,但仍然面临同样的错误。当我使用 Angular 4 时,还要添加这个曾经工作过的东西
解决方案
这与 ES6 模块隔离的工作方式有关。从文件加载与angular.json
index.html 文件(全局范围)上的脚本标记相同。当您在任何组件上导入它时,您将获得一个新的本地副本,因此请避免以这种方式导入它。
为了防止智能感知和编译问题,请创建一个typings.d.ts
包含以下内容的文件:
declare var $: any;
declare var jQuery: any;
现在你准备好了:)
推荐阅读
- php - 数组索引的PHP对象键值比较
- android - 未处理的异常:MissingPluginException(在通道 * 上找不到方法 getBatteryLevel 的实现)与 flutter1.12
- python - pubsub 到 bigquery 没有使用 python 的数据流
- java - 静态和非静态方法的同步
- laravel - Composer 更新挂起,但 composer install 正在运行
- mongodb - 如何根据mongodb中的2个字段计算时间差
- maven - 从 AEM 6.4 中删除项目
- java - 使用 Java-8 时 varargs 中的 ClassCastException
- amazon-web-services - AWS X-Ray 在 Edge Lambda 和 Authorizer lambda 中不起作用
- jenkins-pipeline - Jenkins 管道 npm install EACSS 权限被拒绝