javascript中的模块调用

1、简介

一直迷惑了好久import、export和require的使用。import和export是js原生的用来导入导出js模块的命令;require
是node.js下的用来导入模块命令,没有node.js环境将不能使用。这些命令可以使模块化的代码更方便管理,避免了
变量的污染。
使用import和export导入导出模块需要注意:
(1)在引入含有模块的js文件时,需要将type="text/javascript"修改为type="module"
<script type="module" src="js/model_test.js" ></script>,type="module"是ES6新特性,因此有部分浏览还不支持,例如IE、360浏览器,支持的浏览器有Safari 10.1、Chrome 61、Firefox 60、Edge 16;
(2)使用import命令时,最好是在文件的开始
(3)使用export命令时,最好是在文件的结束,并最好加上"default"。
如果,不注意会提示语法错误。

module特性请参见:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/import

2、代码

2.1 html代码

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <script type="module" src="js/model_test.js" ></script>
    </head>
    <body>
        <div style="width: 100%;height: 100%; text-align: center; size: 100px;">
            js中import和export模块方法调用
        </div>
    </body>
</html>

2.2 js测试代码(model_test.js)

import model from '../js/model.js';

// 执行主函数
main()

function main(){
    // 获得属性中的值
    var content = model.content;
    alert("属性:"+content);
    
    // 获得名字
    var name = model.getName();
    alert("函数:"+name);
    
    // 重置名字
    model.setName("软件学院");
    name = model.getName();
    alert("函数:"+name);
    
    var school = model.school;
    alert("对象:"+school.getName());
}

2.3 js模块(model.js)

/**
 * js模块文件
 */
var content = "河南大学是百年老校!";

var name="河南大学";
// 设置name
function setName(newName){
    name = newName;
}

// 获得name
function getName(){
    return name;
}

// 定义类,注意ECMAScript6中开始支持类(class关键字),但是仅有部分高版本的浏览器兼容
// 因此,建议在js中使用原生的建立对象的方法。
var school = {
    name:"河南大学",
    setName: function(newName){
        this.name = newName;
    },
    getName: function(){
        return this.name;
    }
}

// 导出方法和属性,必须放在最后,如果放在头部属性(content)将会显示未定义
export default {content, setName, getName, school}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值