tsconfig 将ts模块编译为commonjs模块的导出问题

这是我的项目:

1.模块A是是ts文件:

export default {
    XXX
}

2.将模块A通过tsconfig将其转换为commonjs模块,以下是tsconfig.json配置:

{
  "compilerOptions": {
    "target": "ES6",
    "module": "CommonJS",
    "moduleResolution": "node",
    "rootDir": ".",
    "outDir": "build",
  },
  "include": [
    "src/**/*"
  ]
}

3.模块A通过上述配置,编译为了下述形式:

exports.default = XXX

4.我在使用模块A的时候,需要这样:

const XXX = require('XXX').default

问题:

这样必须要在后面加个default,非常的不方便。请问有什么方式可以将模块A编译成下面这种形式吗?

module.exports= XXX
阅读 9k
3 个回答

Typescript 文档

export defaut XXX 是和 import XXX from 配合使用的

export = XXX 适合 XXX = require() 配合使用的

新手上路,请多包涵

模块A改成:

export = {
    XXX
}

我也碰到这个问题,最后参考项目 vuejs / rollup-plugin-vue,发现是这么处理:在模块最后,再通过 module.exports = ModuleName; 导出一遍即可。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题