【问题标题】:Support ES6 module syntax along with CommonJS支持 ES6 模块语法以及 CommonJS
【发布时间】:2017-07-08 14:41:47
【问题描述】:

所以我有这个简单的模块:

export default function(){}

如果我不使用export default,那么 TypeScript 编译器会写一个警告说我的“模块没有默认导出”,我想避免这种情况。

所以要使用这个模块,我们会这样做:

import fn from 'my-module';

这一切都很好,但是如果我想使用 CommonJS 来导入呢?

那么我必须这样做:

const fn = require('my-module').default;

这对用户来说很尴尬。有没有办法解决这个问题?

【问题讨论】:

  • 也许我可以添加export = default。哪个可能等同于 module.exports = module.exports.default = fn...?

标签: javascript node.js typescript commonjs es6-modules


【解决方案1】:

有等价的:

import tscmultiwatch from 'tsc-multi-watch';
const {default:tscmultiwatch} = require('tsc-multi-watch'); 

这样你可以避免不太愉快的事情:

const tscmultiwatch = require('tsc-multi-watch').default; 

tsc-multi-watch 可能看起来像

export default function(){

}

【讨论】:

  • “不那么愉快”?不是真的……
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-07
  • 1970-01-01
  • 2021-11-20
  • 2012-06-20
  • 1970-01-01
相关资源
最近更新 更多