在维护一个项目时,项目中使用的语言是TypeScript,我在项目中引入js的时候,发现报错:
提示信息为:无法找到模块“xxx.js”的声明文件 xxx隐式拥有 “any” 类型
网上搜了一下才发现,原来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
2.第二种方法:在项目中新建一个xxx.d.ts文件:
在文件中主动声明引入的module:
shims.d.ts:
declare module '@/util/gio.js' // declare module 'xxx'路径或者模块名
然后就可以正常引入了