💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
## 一、概述 import 语句用于导入由另一个模块导出的绑定。无论是否声明了 strict mode,导入的模块都运行在严格模式下。import语句不能在嵌入式脚本中使用; >[danger] import后的from 可以指定需要导入模块的路径名,可以是绝对路径,也可以是相对路径,.js后缀名可以省略,如果只有模块名,不带有文件路径,则需要有配置文件指定; ## 二、导入整个模块 ``` //导出lib的所有函数及变量 import * as lib from 'lib'; //以 lib 做为命名空间进行调用,类似于object的方式 console.log(lib.square(11)); // 121 ``` ## 三、从模块文件中导入单个或多个函数 ``` //导入square和 diag 两个函数 import {square, diag} from 'lib'; // 只导入square 一个函数 import {square} from 'lib'; ``` >[danger] 大括号里面的变量名,必须与被导入模块对外接口的名称相同; ## 四、导入默认(export default )模块 ``` // 导入默认模块 import _ from 'lodash'; ``` >[danger] 导入默认模块的时候,可以为该匿名函数指定任意名字; ## 五、只import进来,不需要调用 ``` // 导入css import './mystyle.css'; // 导入类库 import "my-module"; ``` >[danger] 这里的意思是仅仅执行了引入的模块,但并不引入任何元素。比如被引入的模块没有导出任何元素,但拥有其他的一些逻辑。比如:引入样式,定义一个自定义指令,或将本身作为一个插件绑定到某个已知元素等等逻辑。 > 这个时候导入并不会引入任何元素,而仅仅是执行了这些代码; ## 六、import目录 如果文件目录下有 package.json,就根据它的 main 字段找到 js 文件。如果没有 package.json,那就默认取文件夹下的 index.js; ## 七、语法手册 ``` import defaultExport from “module-name”; import * as name from “module-name”; import { export } from “module-name”; import { export as alias } from “module-name”; import { export1 , export2 } from “module-name”; import { export1, export2 as alias2 , [...] } from “module-name”; import defaultExport, { export [ , [...] ] } from “module-name”; import defaultExport, * as name from “module-name”; import “module-name”; ``` ## 八、导入寻址策略 导入的时候,文件的路径寻址,如果不是绝对路径,遵循一定的策略; [node_modules](../../../../../Node.js/node_modules.md)