[import ... from」、「 import ... = require()」 和 「import(path: string)」有什么区别?

news/2024/5/20 5:08:11 标签: ts
1、import ... from

2、import(path: string)

3、import ... = require()

前两个都是ES6的模块语法,第3个import ... = require() 是ts的语法

使用export命令定义了模块的对外接口以后,其他 JS 文件就可以通过import命令加载这个模块

第1个:import命令只能在模块的顶层,不能在代码块之中(比如,在if代码块之中,或在函数之中)

第2个:ES2020提案 引入import()函数,支持动态加载模块
import()函数可以用在任何地方,不仅仅是模块,非模块的脚本也可以使用。它是运行时执行,也就是说,什么时候运行到这一句,就会加载指定的模块。另外,import()函数与所加载的模块没有静态连接关系,这点也是与import语句不相同。import()类似于 Node 的require方法,区别主要是前者是异步加载,后者是同步加载。

3、import ... = require()

为了支持CommonJs和AMD的exportsTypescript提供了export = 语法

使用export = 导出一个模块,必须使用import ... = require() 导入模块

 

 

 

参考链接:

es6:  https://es6.ruanyifeng.com/?search=import&x=0&y=0#docs/module#import

ts:    https://www.tslang.cn/docs/handbook/modules.html

 


http://www.niftyadmin.cn/n/951518.html

相关文章

TS之类型断言

类型断言用于手动指定一个值的类型。 一、语法 值 as 类型 二、用途 2.1 将一个联合类型断言为其中一个类型 interface Cat {name:string;run():void; } interface Fish {name:string;swim():void; } function getName(animal:Cat|Fish):string{return animal.name; } 只…

vue props和attrs

vue3 props 要先声明才能取值,attrs不用声明直接使用($attrs 包含 class and style attribute)props 不包含事件,attrs包含 props 支持 String 以外的类型,attrs只有 String 类型 props 没有声明的属性,会…

vue3 setup使用(详细)

官网vue3-setup 总结: 1、setup 函数时,它将接受两个参数:(props、context(包含attrs、slots、emit)) 2、setup函数是处于 生命周期函数 beforeCreate 和 Created 两个钩子函数之前的函数 3、执行 setup 时&#x…

vue3 computed和watch

学习笔记记录(内容来源于官网) computed vue3 计算属性和vue2变化不大,只需要注意,它返回的是一个响应式的ref对象,所以在使用的时候需要.value(模板中使用不需要,会自动展开) const count ref(1) const plusOne …

watch和watchEffect

学习笔记记录(内容来源于官网) watch vue3watch用法和vue变化也不是特别大,vue3支持侦听多个数据源 用法没太大变化:wach是一个钩子函数,支持传入三个参数(个人理解) 1、监听对象 2、回调函…

TS学习笔记(十):命名空间

在确保我们创建的变量不会泄露至全局变量中,我们以前曾采用过这种代码组织形式: (function(someObj){someObj.age 18;})(someObj || someObj {});复制代码但在基于文件模块的项目中,我们无须担心这一点,此种方式,适合…

TS学习笔记:命名空间

在确保我们创建的变量不会泄露至全局变量中,我们以前曾采用过这种代码组织形式: (function(someObj){someObj.age 18; })(someObj || someObj {});但在基于文件模块的项目中,我们无须担心这一点,此种方式,适合用于合…

vue 预览pdf

<embed:src"previewSrc"type"application/pdf"width"1200px"height"1000px"> embed 标签h5特性中包含四个属性&#xff1a;高、宽、类型、预览文件src&#xff01; 与< iframe > < / iframe > 不同&#xff0c;这个…