🦄 2024 独立开发者训练营,一起创业!查看介绍 / 立即报名(剩余10个优惠名额) →

模块(Module) :导出与导入东西

JavaScript 语言提供了模块这个概念,在一个文件里,如果设置导出了一些东西,我们就可以认为这个文件就是一个模块。

比如在 greeting.ts 里面,定义了一个这样的函数:

const greet = () => {
  console.log('您好 ~');
};

如果打算要在其它的文件里使用 greeting.ts 里面提供的 greet() 函数的功能,就可以在这个文件里导出 greet() 函数。可以这样做:

export const greet = () => {
  console.log('您好 ~');
};

直接在创建 greet() 函数的前面,加上一个 export

现在假设我要在 app.ts 里,使用 greeting.ts 里面的 greet() 函数,可以像这样导入它:

import { greet } from './greeting';

// 执行导入进来的 greet 函数
greet();

导入别人提供的东西,用的是 import 关键词,先说明一下要导入的东西,然后在 from 的后面再说明一下这个东西的来源是哪里。./greeting 的意思是当前目录下面的 greeting 这个文件,这里可以省略掉文件的扩展名,比如 .ts 中 .js。

注意在说明要导入的东西的时候,把它放在了一组大括号里了:{ greet },如何导入,取决于在模块里是如何导出的。在模块里可以导出多个东西,导入它们的时候使用大括号,可以想成是在模块里把导出的某个东西取出来。

如果在 greeting.ts 里面,是这样设置的导出:

const greet = () => {
  console.log('您好 ~');
};

export default greet;

上面设置了模块默认导出的东西是 greet,这样在别处导入 greeting 模块的时候,可以这样做:

import greet from './greeting';

在说明要导入的东西的时候,不需要大括号了,因为 greeting 模块提供了默认的导出。所以这里的 greet 就是给 greeting 默认导出的东西起的名字,这个名字我们可以在导入的时候自己设置,比如也可以这样:

import sayHello from './greeting';

这样在 app.ts 文件里,sayHello 这个东西就是 greeting 模块默认导出的东西,也就是 greet() 这个函数。

微信好友

用微信扫描二维码,
加我好友。

微信公众号

用微信扫描二维码,
订阅宁皓网公众号。

240746680

用 QQ 扫描二维码,
加入宁皓网 QQ 群。

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点