javascript - ts 文件中的模块导出不是模块错误
问题描述
我有一个 config.ts 我有
module.exports = { something: 123 }
当我像 import { something } from './config.ts' 导入时出现错误config.ts' is not a module
,有什么问题?我的打字稿配置正确,它在其他地方工作。
解决方案
如果您使用import { something } from './config.ts'
,则您使用的是 JavaScript 模块,但您的代码config.ts
使用的是 CommonJS 模块。一些捆绑器等可能会让你混合它们,但最好不要。
要使config.ts
JavaScript 模块与该import
声明兼容(需要一个名为 的命名导出something
),请将其更改为:
export const something = 123;
或者,当然,要config.ts
通过 CommonJS 使用,您使用它的代码将是:
const { something } = require("./config.ts");
...但是考虑到您遇到的错误,我认为您的项目设置为使用 JavaScript 模块(import
/ export
),这在 2021 年左右可能是最好的(现在我们有动态导入来处理静态模块不使用的情况'不完全做这项工作)。
推荐阅读
- mysql - 如果查询未找到行,如何返回空值
- python - ORB 演示代码错误并出现 cv2.error: Unknown C++ exception from OpenCV code
- swift - 未知进程名称 - vImageConvert_AnyToAny - 在 beginBackgroundTask 上失败
- python - For 循环遍历嵌套字典并将结果附加到列表中
- javascript - JavaScript & PHP 替换包含 X 的字符串并重用 X 前后的字符串
- typescript - 尝试运行 TypeScript 测试时出现开玩笑错误
- rest - 将有效负载/事件数据从 Google 跟踪代码管理器发送到 Bigquery
- javascript - UnhandledPromiseRejectionWarning:错误:getaddrinfo ENOTFOUND
NestJS 中的错误 - sql-server - 验证 SQL Server 上的文件路径
- django - django-bootstrap-v5 DecimalField 在 ModelForm 类中抛出错误