在 TypeScript 文件中,module.exports 返回 'module is not a module.'

3
以下是一个写在JS文件中的模块:
module.exports = {
  propA: 1,
  propB: 2
}

允许稍后从模块导入属性,例如:

import { propA } from 'path/to/module'

然而,将文件格式更改为TypeScript(如module.ts)会引发以下lint错误:“module不是一个模块。”

这是项目的tsconfig配置文件:

{
  "compilerOptions": {
    "target": "esnext",
    "module": "esnext",
    "strict": true,
    "jsx": "preserve",
    "importHelpers": true,
    "moduleResolution": "node",
    "experimentalDecorators": true,
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true,
    "allowJs": true,
    "sourceMap": true,
    "noImplicitThis": true,
    "baseUrl": ".",
    "types": [
      "webpack-env",
      "jest"
    ],
    "paths": {
      "@/*": [
        "src/*"
      ]
    },
    "lib": [
      "esnext",
      "dom",
      "dom.iterable",
      "scripthost"
    ]
  },
  "include": [
    "src/**/*.ts",
    "src/**/*.tsx",
    "src/**/*.vue",
    "tests/**/*.ts",
    "tests/**/*.tsx"
  ],
  "exclude": [
    "node_modules"
  ]
}

如果有人能提供一个有效的方法来保留module.exports或在typescript中声明模块以仅允许导入其单个属性,我将不胜感激 :)


1
这可能会有所帮助:https://dev59.com/4lsW5IYBdhLWcg3wFj9p#35401923 - Murli Prajapati
这个回答解决了你的问题吗?如何在TypeScript中导入使用module.exports=的CommonJS模块 - volna
1个回答

1
尝试像这样:

尝试像这样:

export const yourData = {
  propA: 1,
  propB: 2
}

并从 'yourSrc' 导入您的数据


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接