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

结尾

觉得有用就点赞关注加评论吧,

觉得哪里有问题可以评论留言。

上一篇:js 对象的深拷贝, 与浅拷贝
下一篇:css函数

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年04月11日 04时41分17秒