TypeScript引入js第三方包

无法找到模块“xxxx”的声明文件。

  • 可以在tsconfig.json设置noImplicitAny:false

  • 或者npm安装 @types/xxxx

在src-》shims.d.ts文件中,添加第三方插件声明即可。

  1.  
    // shims.d.ts
  2.  
     
  3.  
    declare module 'alife-logger' // npm install alife-logger --save

网上搜了一下才发现,原来typeScript中引入js不能直接这样引入,以下是我知道的两种解决办法:
1.第一种方法:使用require代替import传统引入:

// import gioJs from '@/util/gio.js'
const gioJs = require('@/util/gio.js')
// 可能会提示 require 未定义,有两种方式:
// 1. 自行声明:declare const require: any
// 2. yarn add -D @types/node
1
2
3
4
5
2.第二种方法:在项目中新建一个xxx.d.ts文件:

在文件中主动声明引入的module:

shims.d.ts:
declare module '@/util/gio.js' // declare module 'xxx'路径或者模块名
1
2

————————————————
版权声明:本文为CSDN博主「Liberty_yes」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Liberty_yes/article/details/123073269

无法找到模块“…/components/message.js”的声明文件。“e:/Vue/客/cms_v3/src/components/message.js”隐式拥有 “any” 类型。ts(7016)

真的是恶心死人了,原来一直这个办法引入都是没有问题的,各种找办法都找不到,有一些办法也没用于是我就大胆参数了用require方法引入
在需要引入地方

const {$message} = require('../components/message.js')
1
message.js

function $message(message, type="success"){
console.log('123')
}

export {
$message
}
1
2
3
4
5
6
7
就可以正常引入啦
地址为:https://blog.csdn.net/weixin_51357044/article/details/125214442?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-2-125214442-blog-123073269.pc_relevant_multi_platform_whitelistv3&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-2-125214442-blog-123073269.pc_relevant_multi_platform_whitelistv3&utm_relevant_index=5

posted @   chenguiya  阅读(3993)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2013-07-25 网站性能优化之CSS无图片技术:三角形
点击右上角即可分享
微信分享提示