(详解及使用)import()函数和import语句

简介: (详解及使用)import()函数和import语句



背景

我们在日常开发中是不是会遇到这个东西import,但是import会有两种形式,下面将详细解释

一、import()

  • import函数可以异步动态加载模块,与所加载的模块没有静态连接关系。
  • import函数的返回值是promise对象,可以使用.then和.catch方法进行接收数据处理,import()加载模块成功以后,这个模块会作为一个对象,当作then方法的参数。
  • 可以使用对象解构赋值的语法,获取输出接口。允许模块路径动态生成。
  • 可以配合promise的方法.all方法进行多个模块的加载。
  • import函数可以放在任何地方,因为它是运行时执行的,什么时候执行到它,就什么时候进行指定模块的加载,所以它可以在条件语句和函数中进行动态的加载。

1.1 使用场景

//vue项目路由按需加载
{
    path:'/document'
    name:'document'
    component:()=>import(../document/index.vue)
}
//模块的按需加载
btn.click=function(){
    import('../document').then(fn=>{
        ...
    })
}
//条件加载
if(true){
    return import('./document/info').then(msg=>{
        //加载内容
    }).catch(err=>{
        //error codo
    })
}

二、import ... from "..."

  • import 语句与export配合使用,export命令用于规定模块的对外接口,import命令用于导入由另一个模块导出的绑定。在import和export都可以使用as关键字来为导出/导入的变量重新命名。
  • export语句输出的接口,与其对应的值是动态绑定关系,接口名与模块内部变量之间,建立了一一对应的关系。即通过该接口可以取到模块内部实时的值。export和import一样不可出现在块级作用域中,必须在顶层,导出的不可以为准确值必须是接口,输出的接口不存在动态更新。
  • import命令会被 JavaScript 引擎静态分析,先于模块内的其他语句执行,异步加载,只能放在模块首部,不能支持条件语句
  • 在一个文件或模块中,export、import可以有多个,export default仅有一个
  • export default导出匿名接口的时候,import会可以为这个匿名接口起任意的想要的名字。
  • export …from … 在一个模块中可以先导入再导出

2.1 详细使用

参考我的blog

(区别、详解、使用)module.exports与exports,export与export default,import 与require_module.exports.__揽的博客-CSDN博客

目录
相关文章
|
1月前
|
数据可视化 数据挖掘 开发者
import有什么用,python中怎么使用import
import有什么用,python中怎么使用import
34 1
|
1月前
|
Java
Java导入语句(Import Statements
Java导入语句(Import Statements
88 2
|
1月前
|
XML 数据格式 Python
Python解释import、from ... import ... 和 from ... import *的区别。
解释import、from ... import ... 和 from ... import *的区别。
|
9月前
|
Java
JAVA_import导入类
JAVA_import导入类
56 0
|
Java 编译器
Import语句基础
Import语句基础
57 0
|
JSON 缓存 Serverless
23.从入门到精通:Python模块 import 语句 from … import 语句 from … import * 语句 深入模块 修改my_module的源代码
23.从入门到精通:Python模块 import 语句 from … import 语句 from … import * 语句 深入模块 修改my_module的源代码
|
PyTorch 算法框架/工具 Python
代码import torch 报错 ImportError: numpy.core.multiarray failed to import
代码import torch 报错 ImportError: numpy.core.multiarray failed to import
357 0
|
索引 Python
这个代码什么意思 from operator import itemgetter
这段代码导入了 Python 内置模块 operator 中的 itemgetter 函数。itemgetter 函数用于获取对象中的某个元素,并返回一个函数,该函数可以用于对对象中的元素进行排序或者访问。在使用时,需要指定元素的索引或者键。
152 0
|
PyTorch 算法框架/工具 Python
【解决】cannot import name ‘__NewEmptyTensorOp‘
【解决】cannot import name ‘__NewEmptyTensorOp‘
387 0