'...'仅指类型,但被用作值 - Typescript / Javascript - import NodeJS Lib

问题描述 投票:0回答:1

我有一个简单的 NodeJS 库,它导出一些常量。在该库中,我们有以下设置:

lib/index.js

  const SOME_EXAMPLE = 
    {
       'AAA': ['BBB']
     ...
    }  
  

  module.exports = {
    SomeExample: SOME_EXAMPLE
  }

lib/index.d.ts

  export type SomeExample = Record<string, string[]>
  

我还有另一个仓库,它是一个 NodeJS 项目,我想在其中使用这个库。因此:

服务/src/index.js

 import {SomeExample} from './the-lib
 console.log(SomeExample)

服务/ts-config.json

... // This is just an extract to give an idea
"compilerOptions": {
  "target": "es2022",
  "module": "CommonJS",
  "esModuleInterop": true,
  "allowSyntheticDefaultImports": true,
  "skipLibCheck": true,
...

启动服务时,打字稿会抛出

'SomeExample' only refers to a type, but is being used as a value

我做错了什么?

javascript node.js typescript import export
1个回答
0
投票

似乎我滥用了打字稿语法。解决方案是更新我的 index.d.ts 文件:

 export const SomeExample : Record<string, string[]>

我现在正在导入正确的值。希望这对某人有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.