Day08-import/export

前言

以前我们可能会引入许多的JavaScript档案

https://ithelp.ithome.com.tw/upload/images/20210902/20130419ZAQKw3lXsZ.png

而现在前端更多应用的时代,程序的庞大会让前端人员头痛欲裂?

於是模组化的出现,让很多需要抽离的程序可以透过import / export 来进行操作。

Import / Export

  • 需要在script tag中添加 type="module"
  • 模组化副档名为.mjs

首先我们在index.html中引入main.js档案,并且定义type="module"

https://ithelp.ithome.com.tw/upload/images/20210902/20130419udvdFBlpnQ.png

於是我们的档案会有main.js和module.mjs

https://ithelp.ithome.com.tw/upload/images/20210902/20130419jmdeJYY8Pw.png

default

//module.js

function sum(n) {
  return n * 2  
}

export default sum

//main.js

import sum from './module.mjs'
console.log(sum(2)); //4

可以看到我们在module.mjs中使用export default 输出,在main.js中使用import变数。

multi exports

那如果要输出多个变数呢???

我们就要把default去掉使用{ }包括住变数,并且在汇入的档案中也要使用{ }包括。

// module.mjs
function sum(n) {
  return n * 2  
}

let name = 'Dennis'

export {sum, name}

//main.js
import {sum, name} from './module.mjs'
console.log(sum(2)); //4
console.log(name);// Dennis

as(alias)

import {sum, name as Dennis} from './module.mjs'
console.log(sum(2)); //4
console.log(Dennis);// Dennis

明天会开始进入JavaScript的重头戏!!!

也谢谢大家的收看

/images/emoticon/emoticon02.gif


<<:  DAY8 MongoDB 批次操作(bulk wirte) 与 Operators

>>:  LeetCode解题 Day08

Ruby on Rails Model 验证及回呼

不是每个⽅法都会被验证... 虽然验证功能很⽅便,但并不是每种⽅法都会触发验证,仅有以下这些⽅法会触...

Day 06:3 Sum

在Two Sum 中 我们一开始最初的想法是用2次的loop检查,那换做这3 Sum我们当然可以用三...

Day 14:专案02 - PTT C_chat版爬虫01 | 爬虫简介、request和response、Requests

⚠行前通知 先前已经学过Python但想学爬虫的人可以回来罗~ 从今天起就开始大家最期待的网页爬虫的...

[Day 03] 环境建置(二) - gulp、compiling SASS

今天要来安装这次会用到的所有工具套件,并能顺利将SASS编译成CSS~ VS Code 套件 我们这...

【Day 06】致不灭的 DLL - DLL Injection

环境与工具 Windows 10 21H1 Process Explorer v16.32 Visu...