javascript - 如何在 TypeScript 项目中使用 Vue.use() 一个 JavaScript 插件
问题描述
我正在尝试Semantic-UI-Vue
在我的 vue 项目中使用。但是,当我尝试执行以下操作时出现以下错误Vue.use(SuiVue)
:
'typeof import("semantic-ui-vue")' 类型的参数不可分配给 'PluginObject<{}> 类型的参数 | PluginFunction<{}>'。\n 类型 'typeof import("semantic-ui-vue")' 不可分配给类型 'PluginFunction<{}>'。\n 类型 'typeof import("semantic-ui-vue" )' 不提供与签名 '(Vue: VueConstructor, options?: {} | undefined): void' 的匹配。”
我创建了一个.d.ts
文件,可以让我导入 SuiVue:
declare module 'semantic-ui-vue'{}
我将其导入app.ts
为:
import * as SuiVue from 'semantic-ui-vue';
在不禁用全局 TypeScript 设置的情况下,我需要做什么才能让这个插件在打字稿项目中可用noImplicitAny
?
解决方案
替换declare module 'semantic-ui-vue'{}
为declare module 'semantic-ui-vue';
declare module 'semantic-ui-vue'{}
表示模块具有空对象的类型{}
。
declare module 'semantic-ui-vue';
表示模块的类型为 any
请参阅https://www.typescriptlang.org/docs/handbook/modules.html中的速记环境模块
正如 OP 所知道的那样,您需要将 import 语句更改import SuiVue from 'semantic-ui-vue';
为才能正常工作
推荐阅读
- reactjs - 在 R3F 中使用 useGesture 移动相机,滚轮 + 用橡皮筋拖动
- html - 分隔线的渲染宽度的仅 Chrome 可变性
- git - 从错误分支恢复合并后无法从另一个远程拉取
- html - 前端网页的编码问题 - HTML/CSS 编码
- java - 如何从另一个数组返回具有某个 int 索引的数组
- python - 日期时间以奇怪的格式打印
- javascript - 箭头转换/转换并单击链接
- python - tf2onnx Tensorflow 到 Onnx 输出不一致
- python - Fastapi + 草莓 GraphQL
- freeswitch - freeSwitch ESL api api 发起响应 -ERR NORMAL_CLEARING