在 TypeScript 中引用 vanilla js 文件获取文件不是模块

Referencing vanilla js file in TypeScript getting file is not a module

我正在尝试将一个文件导入到 TypeScript 中,该文件基本上只是一个您放入标记中的 js 文件。我尝试了一些不同的东西。

// global.d.ts
declare module 'myfile.js'

反应文件内部:

// component.tsx
import { foo } from '../lib/myFile.js' // This is saying it is not a module

在 js 文件中,它看起来像这样几次,所以不确定我需要如何引用该文件:

(function( something ) {
    something.Foo = function (){}
}(window.something = window.something || {}));

关于如何使用这个文件有什么想法吗?我是否需要检查并声明其中所有内容的类型?

编辑:我已将 allowJS 添加到我的 tsconfig,但它仍然不起作用。

您只能导入从文件中导出的内容。

如果您的文件只包含立即调用的函数或顶级代码,您只需像这样导入文件本身:

import '../lib/myFile.js'

然而,这有点奇怪。我建议用函数包装所有内容,然后导出然后导入该函数。