JS模块化编程指南

在 es6 中引入了 import 语句和 export 语句,使得我们可以利用它们进行模块化编程。

一. export 语句


| m.js

var a = 1;
var b = 2;
var c = 3;

// 可以单个导出, 不要忘记加 {}
export {a};

// 可以多个导出
export {
    b,
    c
};


export var d = 4;
/* 相当于
    var d = 4;
    export {d};
*/

| index.js

import {a, b, c, d} from "./m.js"

console.log(a);
console.log(b);
console.log(c);
console.log(d);

输出:

1

2

3

4

注意: 对于 export 语句, 在导入时 impot 的后面必须有{}


(一) 使用别名


为了防止变量名重复,可以利用别名为导出或导入的变量起一个新的名字。

1、在 export 语句中使用别名


| m.js

var aaa = 1;
var bbb = 2;
var ccc = 3;

export {
    aaa as a,
    bbb as b,
    ccc as c
};


| index.js

import {a, b, c, d} from "./m.js"

console.log(a);
console.log(b);
console.log(c);

输出:

1

2

3


2、在 import 语句中使用别名


| m.js

var aaa = 1;
var bbb = 2;
var ccc = 3;

export {
    aaa,
    bbb,
    ccc
};


| index.js

import {
    aaa as a,
    bbb as b,
    ccc as c
} from "./m.js"

console.log(a);
console.log(b);
console.log(c);

输出:

1

2

3


(二) 全部导入


| m.js

var a = 1;
var b = 2;
var c = 3;

export {
    a,
    b,
    c
}

| index.js

// 这里的 mod 是一个别名,可以自定义
import * as mod from "./m.js"

console.log(mod.a);
console.log(mod.b);
console.log(mod.c);

输出:

1

2

3


二. export default 语句


  • export default 语句后面接的是一个表达式

  • export default 语句在一个js文件中只能使用一次

var a = "Hello";
export default a;

// 或者
export default "Hello";
// "mod" 是自定义的别名,可以随便取
import mod from "./m.js"

console.log(mod)

输出:

Hello


三. 同时使用 export defaultexport


| m.js

var a = "Hello ";
export default a;

var b = "云先生B";
export {b};

| index.js

import a, {b} from "./m.js"

console.log(a + b);

输出:

Hello World


四. 在实际中使用模块化编程


(一) 在前端中使用

在前端中使用模块化编程,必须为 <script> 标签添加 type="module" 属性。

| lib.js

export var a = 666;

| index.html

<!DOCTYPE html>
<html>
<head>
    <script type="module">
        import {a} from './lib.js';
        alert(a); // 弹出窗口,内容为“666”
    </script>
</head>
</html>

(二) 在nodejs中使用

nodejs 中使用es6的模块化编程时,必须将文件后缀名改为 .mjs

// m.mjs
export var a = 1;
export var b = 2;


// index.mjs
import {a, b} from "./m.js"

console.log(a); // 输出 1
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值