发布时间:2023-01-03 09:30
原生支持模块化了
ES6中新增的模块化,即从ES6开始,原生js支持模块化了,现在很多浏览器也支持模块化了。
在用export导出时,可以导出多个
如:person.js文件(模块)里,如下:
//导出字符串
export var str = "hello";
//导出函数
export var fun = function(){
alert("我是函数");
}
//导出对象
export const p = {
"id":"007",
"name":"张三疯",
"eat":function(){
alert("吃");
ff();
}
}
//此函数没有使用export关键字导出,所以,只能在当前js文件内部使用
function ff(){
alert("我只能在当前js被使用");
}
2.导入(import):导入就是把其它js文件引入到当前js文件里。使用关键字import。
在使用import导入(export导出的)时,要使用花括号,
如:import {str,fun,p} from './person.js';
在index.js文件中,引入模块person.js;
//导入时,需要使用{},这是解构赋值。
import {str,fun,p} from './person.js';
window.onload = function(){
document.getElementById("btn01").onclick = function(){
console.log(str);
fun();
console.log(p.id);
p.eat();
}
}
注意:测试以上代码时,google浏览器要求放在服务器上进行 ,否则,就会有跨域问题。
代码示例:
模块定义:dog.js
export default {
"name":"大黄",
"eat":function(){
alert("吃");
}
}
导入模块:
import d from './dog.js';
window.onload = function(){
document.getElementById("btn01").onclick = function(){
console.log(d);
d.eat();
}
}