支持ES6模块语法以及CommonJs

技术标签: javascript.  node.js.  打字稿  commonjs.  ES6模块

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

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

}

智能推荐

ES6语法

ES6语法初始 一:学习ES6之前也学过ES5,当然这就不做过多介绍了,ES6也是对ES5的一个升级,都知道javascript包含了ECMAScript,和Dom、Bom那么ES就是ECMAScript,ES6涵盖ES2015,ES2016,ES2017是一个标准 当然ES6也增加了许多新特性:比如ES6新增了let和const命令 1.1、Let命令:用于声明一个变量,类似于var,但是声明的...

ES6模块

ES6模块 一、模块化 export (导出)与 import(导入) 模块导入导出各种类型的变量,如字符串,数值,函数,类。 export 命令可以出现在模块的任何位置,但必需处于模块顶层。 import 命令会提升到整个模块的头部,首先执行。 二、export default 命令 let s1 = function() { return “默认方法”; } let s...

ES6模块

类 语法看起来更简洁、优雅、可读性高、可维护性高 定义 类表达式可以为匿名或命名 注意要点 类定义不会被提升,这意味着,必须在访问前对类进行定义,否则就会报错。 类中方法不需要 function 关键字。 方法间不能加分号。 主体 prototype,静态属性,公共属性,name 属性 实例属性 定义在实例对象( this )上的属性 模块 之前的模块有几个毛病 1.变量冲突 2.依赖要全部加载 ...

ES6 模块

概述 在 ES6 前, 实现模块化使用的是 RequireJS 或者 seaJS(分别是基于 AMD 规范的模块化库,  和基于 CMD 规范的模块化库)。 ES6 引入了模块化,其设计思想是在编译时就能确定模块的依赖关系,以及输入和输出的变量。 ES6 的模块化分为导出(export) @与导入(import)两个模块。 特点 ES6 的模块自动开启严格模式,不管你有没有在模块头部加上...

javascript之ES6学习(一)——ES6介绍以及ES6语法糖以及ES6核心特性!!!!

1.ES6介绍 ECMAScript是由ECMA国际标准化组织制定的一项脚本语言的标准化规范。 ECMAScript和JavaScript到底是什么关系?很多初学者会感到困惑,简单来说,ECMAScript是JavaScript语言的国际标准,JavaScript是ECMAScript的实现。ECMAScript就是JavaScript中的语法规范! ECMAScript 6(以下简称ES6)是J...

猜你喜欢

webstorm 中设置ES6语法支持

配置方法: 第一种方法让ES6语法支持: 打开file–>setting–>Languages&Frameworks–>javascript,做如下操作 2.第二种方法让ES6语法支持(实现es6直接转化为es5): 首先要安装babel,同样也是使用npm安装:npm install -g babel 然后打开file–&...

Idea不支持es6语法

一个vuejs项目再idea中显示js语法错误 有两处设置javascript版本处,都改为es6 第一处:IntelliJ IDEA ->Perferences...->Languages & Frameworks->JavaScript  第二处:File->Other Settings->Default Settings->Languag...

redis中的hash扩容渐进式rehash过程

背景: redis字典(hash表)当数据越来越多的时候,就会发生扩容,也就是rehash 对比:java中的hashmap,当数据数量达到阈值的时候(0.75),就会发生rehash,hash表长度变为原来的二倍,将原hash表数据全部重新计算hash地址,重新分配位置,达到rehash目的 redis中的hash表采用的是渐进式hash的方式: 1、redis字典(hash表)底层有...

不同系统下的回车\r和换行\n,及其历史

2019独角兽企业重金招聘Python工程师标准>>>      我们平时按下键盘上的‘回车键’,就能实现回车换行【我们在屏幕上所看到的就是光标移到了下一行的开头位置!!ps:不讨论软件实现的特殊功能,如word里的回车智能缩进】。因此对这个按键更准确说应该叫做‘回车换行键’ 就且将这种将光标移到下行开...

windows操作系统,python环境下django的自动安装

首先,在Windows操作系统下安装python,完成python环境的搭建。(我看有的博客需要配置环境变量,其实不必要,因为我们在安装的时候只要勾选如下图所示即可避免不必要的麻烦) 第二步,使用快捷键windows+R或者点击如下图所示,之后点击运行 在其中输入cmd即可进入dos命令。 第三步,输入以下命令 就会自动安装,等待安装完成即可。 第四步,检测django是否安装成功,如果出现如下图...

问答精选

How to get the sum of rows using a vector and the make the result in a column

I have a dataframe and i want to calculate the sum of variables present in a vector in every row and make the sum in other variable after i want the name of new variable created to be from the name of...

Call a custom class in zend framework

I have a very rough project that done partially in zend framework (not ZF2). The 'application', 'library' and 'public' folders are on the same root. Now i need to create a library 'Anil' in the 'libra...

Hide Some Of The Categories In Magento?

I want to hide some of the categories from magento home page. I have created some categories like New Arrivals, Special Offer Which I would like to show in some different way may be in left panel or r...

Reading an internal file in Android Studio

I am writing to an internal file in Android Studio The code lets me write lines of data split with commas. I am able to then go to another activity and read it all out at once. However I want to be ab...

Rails Acts_as_votable Gem Like/Unlike Buttons with Ajax

I'm new to Ruby On Rails, I used the acts_as_votable gem to create Like and Unlike Buttons to make Users like and unlike Posts but I can't make them change from Like to Unlike (and viceversa) and upda...

相关问题

相关文章

热门文章

推荐文章

相关标签

推荐问答