javascript - 支持 ES6 模块语法以及 CommonJS

标签 javascript node.js typescript commonjs es6-modules

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

export default function(){}

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

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

import fn from 'my-module';

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

然后我必须这样做:

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

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

最佳答案

有等价物:

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(){

}

关于javascript - 支持 ES6 模块语法以及 CommonJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42325588/

相关文章:

javascript - 不公开扩展类方法

node.js - 根据用户登录启用或禁用某些侧菜单内容

javascript - 未捕获的范围错误: Maximum call stack size exceeded in React

javascript - 在 jQuery 的 css() 函数中使用 !important

javascript - 如何在 Jade 中选择一个选项?

javascript - Sequelize 查询 SELECT * FROM Table 只返回一行

node.js - 在 Node.js 上调试正常关闭

typescript - provide() 在 Angular 2 中做了什么?

typescript - TypeORM- findOne 返回意外值

javascript - AngularJS 单页应用程序 : Reference Error, ____ 未定义