【Javascript】【模块化】通过ES6新特性实现模块化

?ES6新规范使用export和import关键字来实现模块化,基本用法如下

module.js代码


export let message = "hello";

export function showMessage() {
    alert(message);
}

main.js代码


//路径必须以./或../等开头,不能省略
import * as Module from "./module.js";

console.log(Module.message);
Module.showMessage();

html代码


<html>
    <head>
        <meta charset="UTF-8"/>
        <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=no">
    </head>

    <!-- 注意:必须通过type=module来声明使用了模块特性,否则浏览器无法识别 -->
    <script type="module" type="text/javascript" src="main.js"></script>
</html>

?以上代码是将整个文件作为js模块导入,下面再介绍其它用法

?导入单个变量或方法


import showMessage from "./module.js";

showMessage();

?导入后起别名


import {showMessage as Module_showMessage} from "./module.js";

Module_showMessage();

?导入多个变量或方法


import {message as Module_message, showMessage as Module_showMessage} from "./module.js";

console.log(Module_message);
Module_showMessage();

?导出默认常量


export default "hello";

export function showMessage() {
    alert(message);
}


import Module_Message from "./module.js";

alert(Module_Message)

?导出默认方法


let message = "hello";

export default function showMessage() {
    alert(message);
}


import Module_showMessage from "./module.js";

Module_showMessage();

?统一导出


let message = "hello";

function showMessage() {
    alert(message);
}

export {
    message as default,
    message as Module_message,
    showMessage as Module_showMessage
};


import defaultString from "./module.js";

alert(defaultString);


//Module_showMessage要使用别名,不能使用原名showMessage
//Module_showMessage要加上大括号,否则会被视为default变量
import {Module_showMessage} from "./module.js";

Module_showMessage();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值