
Js模块化导入导出
发布日期:2021-05-07 16:06:26
浏览次数:18
分类:精选文章
本文共 2519 字,大约阅读时间需要 8 分钟。
Js模块化导入导出
导出1:
// 1.jsvar a = 1;var b = function(){ console.log(a);}module.exports = { a: a, b: b}
导入1:
// 1-1.jsvar m1 = require("./1.js")console.log(m1.a); // 1m1.b(); // 1
or(es6)
// 1-2.jsimport m1 from './1.js'console.log(m1.a); // 1m1.b(); // 1// orimport { a, b} from './1.js'console.log(a); // 1b(); // 1
导出2:
// 2.jsvar a = 2;var b = function(){ console.log(a);}exports.a = a;exports.b = b;// exports = { a, b } // 不能这么写,这样就改变了exports的指向为一个新对象而不是module.exports
导入2:
// 2-1.jsvar m1 = require("./2.js")console.log(m1.a); // 2m1.b(); // 2
or(es6)
// 2-2.jsimport m1 from './2.js'console.log(m1.a); // 2m1.b(); // 2// orimport { a, b} from './1.js'console.log(a); // 2b(); // 2
导出3(es6):
// 导出单个特性export let name1, name2, …, nameN; // also var, constexport let name1 = …, name2 = …, …, nameN; // also var, constexport function FunctionName(){ ...}export class ClassName { ...}// 导出列表export { name1, name2, …, nameN };// 重命名导出export { variable1 as name1, variable2 as name2, …, nameN };// 解构导出并重命名export const { name1, name2: bar } = o;// 默认导出export default expression;export default function (…) { … } // also class, function*export default function name1(…) { … } // also class, function*export { name1 as default, … };// 导出模块合集export * from …; // does not set the default exportexport * as name1 from …; // Draft ECMAScript® 2O21export { name1, name2, …, nameN } from …;export { import1 as name1, import2 as name2, …, nameN } from …;export { default } from …;
导入3(es6):
// name-从将要导入模块中收到的导出值的名称// member, memberN-从导出模块,导入指定名称的多个成员// defaultMember-从导出模块,导入默认导出成员// alias, aliasN-别名,对指定导入成员进行的重命名// module-name-要导入的模块。是一个文件名// as-重命名导入成员名称(“标识符”)// from-从已经存在的模块、脚本文件等导入import defaultMember from "module-name"; // 不加{}即导入export default import * as name from "module-name"; import { member } from "module-name"; // 导入export 按需导入import { member as alias } from "module-name";import { member1 , member2 } from "module-name"; // 导入exportimport { member1 , member2 as alias2 , [...] } from "module-name";import defaultMember, { member [ , [...] ] } from "module-name";import defaultMember, * as name from "module-name";import "module-name"; // 将运行模块中的全局代码, 但实际上不导入任何值。
参考:
https://segmentfault.com/a/1190000010426778https://www.cnblogs.com/leftJS/p/11073481.htmlhttps://www.cnblogs.com/zhoulujun/p/9415407.htmlhttps://www.cnblogs.com/zhoulujun/p/9415407.htmlhttps://www.cnblogs.com/moxiaowohuwei/p/8692359.html
结尾
觉得有用就点赞关注加评论吧,
觉得哪里有问题可以评论留言。
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年04月11日 04时41分17秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Cassandra数据建模
2021-05-09
Internet Explorer 10 专题上线
2021-05-09
云计算之路-阿里云上:0:25~0:40网络存储故障造成网站不能正常访问
2021-05-09
网站故障公告1:使用阿里云RDS之后一个让人欲哭无泪的下午
2021-05-09
上周热点回顾(6.3-6.9)
2021-05-09
上周热点回顾(8.12-8.18)
2021-05-09
【故障公告】升级阿里云 RDS SQL Server 实例故障经过
2021-05-09
蹒跚来迟:新版博客后台上线公测
2021-05-09
[网站公告]11月26日00:00-04:00阿里云RDS升级
2021-05-09
[网站公告]又拍云API故障造成图片无法上传(已恢复)
2021-05-09
云计算之路-阿里云上:“黑色30秒”走了,“黑色1秒”来了,真相也许大白了
2021-05-09
上周热点回顾(6.9-6.15)
2021-05-09
上周热点回顾(10.20-10.26)
2021-05-09
上周热点回顾(2.16-2.22)
2021-05-09
上周热点回顾(3.2-3.8)
2021-05-09
.NET跨平台之旅:借助ASP.NET 5 Beta5的新特性显示CLR与操作系统信息
2021-05-09
上周热点回顾(7.27-8.2)
2021-05-09
上周热点回顾(5.9-5.15)
2021-05-09
上周热点回顾(1.16-1.22)
2021-05-09
上周热点回顾(1.23-1.29)
2021-05-09