jquery - node_modules/@types/jquery"' 没有导出成员 'jQuery'
问题描述
Angular 10 推出了一项新功能,该功能会发出警告:
为确保打包程序能够成功优化您的应用程序,请避免依赖 CommonJS 模块,并在整个应用程序中使用 ECMAScript 模块语法。
我在我的 Angular 项目中安装了 jquery 和 @types/jquery,起初我将 jquery 导入到一个组件中,import * as $ from 'jquery'
该组件引发了上述错误。当我检查代码时,它实际上是从 index.d.ts 类型文件的 '../../../node_modules/@types/jquery/index' 导入的。该文件具有单个导出export = jQuery;
和对类型文件集合的引用。如果我改写import { jQuery } from 'jquery';
,我会收到错误消息:
../../../node_modules/@types/jquery"' 没有导出成员 'jQuery'
我对 typescript 还是很陌生,但是使用 nodejs 非常令人沮丧,因为有十几种不同的方法可以从模块中导入某些东西。那么如何使用 ECMAScript 语法导入 jquery?我一直在使用编译器设置和“allowSyntheticDefaultImports”选项,所以我可以import $ from 'jquery'
在没有红色波浪的情况下编写,但编译仍然会引发错误:
此模块使用“export =”声明,并且只能在使用“allowSyntheticDefaultImports”标志时与默认导入一起使用。
这很奇怪,因为我尝试在 tsconfig.app.json 和 tsconfig.base.json 中设置此选项,即使其中一个只是扩展了另一个。
解决方案
推荐阅读
- css - Angular HTML class.otherclass 解释
- javascript - 链接到外部 URL 并打开模式窗口
- cypress - cy.request 的最简单用例不起作用
- java - 获取正确的搜索结果页码 - Selenium Java
- javascript - 如何使用 JSON 和 JavaScript 为 webapp 创建本地数据库
- angular - 如何使用 observable 对数据进行分页?
- python - 如何创建一个函数来首先收集调用者的一些范围/环境信息?
- php - Laravel vuejs spa axios auth 脚手架
- java - 清理 docker 镜像版本的版本。星云释放
- docker - docker build 导致上下文取消