数码资讯
出口和进口的Node.js使用详解
素描 进口和出口都是模块化的进出口在6。js是不是在现阶段支持。它需要由Babel编写的,是一种模块化的代码节点。JS。(对Node.js模块,参考其他js模块篇) 口暴露 使用导出可以公开方法、对象、字符串等等,如下代码 1 写作 导出var =函数(){ (1)console.log; } 2
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
素描
进口和出口都是模块化的进出口在6。js是不是在现阶段支持。它需要由Babel编写的,是一种模块化的代码节点。JS。(对Node.js模块,参考其他js模块篇)
口暴露
使用导出可以公开方法、对象、字符串等等,如下代码
1 写作
导出var =函数(){
(1)console.log;
}
2 写作
var=:1
导出{条};
3 写作
var巴兹=你好世界;
出口{巴兹qux };
然后,上面的代码是由Babel编写的,成为一个js代码,可以执行如下
使用严格;
这个模块是标记模块。
object.defineproperty(出口,__esmodule
真正的价值:
});
1 写作
变量foo = exports.foo =函数foo(){
(1)console.log;
};
2 写作
var=:1
exports.bar =吧;
3 写作
Var Baz =你好世界;
exports.qux =巴兹;
当我们看到上面的代码,我们知道ES6出口会变成暴露在Node.js的方式出口。
进口
看看进口的写作,和我们介绍xx.js出口文件
第一种写作方法
进口{ foo,qux }从'。 / XX;
console.log(qux);
foo,qux是一种属性,我们暴露在xx.js。这是暴露在xx.js属性foo,酒吧和qux3。众所周知,这种类型的书写需要知道文件中暴露的属性的名称,并且可以根据需要编写,而不枚举所有属性。
现在让我们来看一下巴别塔编译代码:
严格使用;
无功_ =需要('。 / XX);
console.log(_。qux);
这是一个简单的要求的方法,引入xx.js,这样我们也可以引进6基于模块对Node.js模块。
写作的第二种方式
从*中导入;
console.log(XX吧);
这里是xx.js介绍,这将暴露在xx.js XX的属性,这是由module.exports别名。它由Babel编译如下:
严格使用;
无功_ =需要('。 / XX);
VaR XX = _interoprequirewildcard(_);
功能_interoprequirewildcard(obj){
是节点模块还是ES判断模块
如果(obj对象。__esmodule){
返回对象;
}
{其他
无功newobj = { };
如果(obj!= NULL){
对于(OBJ VAR键){
如果(object.prototype.hasownproperty.call(obj,关键))
newobj {key} = obj {key};
}
}
与旧的巴别塔编译器兼容
newobj.default = obj;
console.log(newobj);
返回newobj;
}
}
console.log(XX吧);
看到上面的代码,有一个判断,即节点模块或ES模块,它也与ES模块和节点的模块兼容。
写作的第三种方式
从OO导入OO
console.log(OO。酒吧);
这样,OO是一个随机变量,乍看起来可能与第二种方法相同,但实际上,看看编译后的代码:
严格使用;
无功_ =需要('。 / XX);
无功_2 = _interoprequiredefault(_);
功能_interoprequiredefault(obj){
__esmodule obj返回obj对象:
{默认:obj };
}
console.log(_2默认吧);
在最后一排,oo.bar编译成_2.default.bar,和多个默认,在酒吧当然是没有找到,所以这种用法不引入口属性,但说出口的默认下。
出口违约暴露与一次性暴露
出口和出口违约我将在另一篇文章中总结。这里我们只讨论导出缺省值的用法,下面是代码。
var = 123;
导出默认值;
经通天编译
使用严格;
object.defineproperty(出口,__esmodule
真正的价值:
});
var = 123;
exports.default = foo;
看到foo的最后一排将被分配到exports.default,这相当于进口对象。 / XX。这种方式调用默认的属性,所以这两个用途对应使用。由于该属性的值分配给exports.default,然后可以有以下用途
出口违约123;
导出默认值:123 };
导出默认函数(f){ }
导出缺省(函数){ }
上面的代码是单独编写的,因为js导出只能在一个默认情况下使用一次。原因是,module.exports是使用module.exports相同。
导出默认值为123;
导出默认值也可以用来公开类。
其他一些用途
继承
这是模块继承。事实上,父模块引入子模块,然后公开子模块暴露的属性。
导出*;
编译后编译
严格使用;
object.defineproperty(出口,__esmodule
真正的价值:
});
无功_ =需要('。 / XX);
Object.keys(_)。ForEach(功能(关键){
如果(关键=默认| |关键=__esmodule )返回;
object.defineproperty(出口的关键,{)
枚举:真,
获取函数获取(){
返回_ {key};
}
});
});
注意下面的句子
如果(关键=默认| |关键=__esmodule )返回;
默认属性不对外公开…这表明我们在文件中引入的导出缺省值与导出默认值无效,而不是写方法。
从导出;
继承的编写通常用于组织多个模块,这些模块通常与以下包一起使用。
引线文件夹(报价包)
许多人不理解下面的代码行
导入*从O开始;
为什么要导入的文件夹,文件夹不能注意什么,至少有一个文件index.js或package.json也是JS的名字,因为文件夹里面index.js那么这是不是一个文件夹但Node.js包(详见Node.js包,导入文章)将被编译成通天塔的要求。需要的可以去参考路径指定的包,因此,进口可以进入一个文件夹,我们可以依靠index.js出口其他文件代码文件夹,例如:
/ / index.js
导出*从/1;
导出*从/2;
我们可以通过进口OO文件夹暴露在1.js和2.js性能。
总结
从编译代码巴别塔来看,我们可以看到,出口的使用类似于出口,出口module.exports和默认。
以上是本文的全部内容,希望能对您有所帮助,希望大家多多支持。
进口和出口都是模块化的进出口在6。js是不是在现阶段支持。它需要由Babel编写的,是一种模块化的代码节点。JS。(对Node.js模块,参考其他js模块篇)
口暴露
使用导出可以公开方法、对象、字符串等等,如下代码
1 写作
导出var =函数(){
(1)console.log;
}
2 写作
var=:1
导出{条};
3 写作
var巴兹=你好世界;
出口{巴兹qux };
然后,上面的代码是由Babel编写的,成为一个js代码,可以执行如下
使用严格;
这个模块是标记模块。
object.defineproperty(出口,__esmodule
真正的价值:
});
1 写作
变量foo = exports.foo =函数foo(){
(1)console.log;
};
2 写作
var=:1
exports.bar =吧;
3 写作
Var Baz =你好世界;
exports.qux =巴兹;
当我们看到上面的代码,我们知道ES6出口会变成暴露在Node.js的方式出口。
进口
看看进口的写作,和我们介绍xx.js出口文件
第一种写作方法
进口{ foo,qux }从'。 / XX;
console.log(qux);
foo,qux是一种属性,我们暴露在xx.js。这是暴露在xx.js属性foo,酒吧和qux3。众所周知,这种类型的书写需要知道文件中暴露的属性的名称,并且可以根据需要编写,而不枚举所有属性。
现在让我们来看一下巴别塔编译代码:
严格使用;
无功_ =需要('。 / XX);
console.log(_。qux);
这是一个简单的要求的方法,引入xx.js,这样我们也可以引进6基于模块对Node.js模块。
写作的第二种方式
从*中导入;
console.log(XX吧);
这里是xx.js介绍,这将暴露在xx.js XX的属性,这是由module.exports别名。它由Babel编译如下:
严格使用;
无功_ =需要('。 / XX);
VaR XX = _interoprequirewildcard(_);
功能_interoprequirewildcard(obj){
是节点模块还是ES判断模块
如果(obj对象。__esmodule){
返回对象;
}
{其他
无功newobj = { };
如果(obj!= NULL){
对于(OBJ VAR键){
如果(object.prototype.hasownproperty.call(obj,关键))
newobj {key} = obj {key};
}
}
与旧的巴别塔编译器兼容
newobj.default = obj;
console.log(newobj);
返回newobj;
}
}
console.log(XX吧);
看到上面的代码,有一个判断,即节点模块或ES模块,它也与ES模块和节点的模块兼容。
写作的第三种方式
从OO导入OO
console.log(OO。酒吧);
这样,OO是一个随机变量,乍看起来可能与第二种方法相同,但实际上,看看编译后的代码:
严格使用;
无功_ =需要('。 / XX);
无功_2 = _interoprequiredefault(_);
功能_interoprequiredefault(obj){
__esmodule obj返回obj对象:
{默认:obj };
}
console.log(_2默认吧);
在最后一排,oo.bar编译成_2.default.bar,和多个默认,在酒吧当然是没有找到,所以这种用法不引入口属性,但说出口的默认下。
出口违约暴露与一次性暴露
出口和出口违约我将在另一篇文章中总结。这里我们只讨论导出缺省值的用法,下面是代码。
var = 123;
导出默认值;
经通天编译
使用严格;
object.defineproperty(出口,__esmodule
真正的价值:
});
var = 123;
exports.default = foo;
看到foo的最后一排将被分配到exports.default,这相当于进口对象。 / XX。这种方式调用默认的属性,所以这两个用途对应使用。由于该属性的值分配给exports.default,然后可以有以下用途
出口违约123;
导出默认值:123 };
导出默认函数(f){ }
导出缺省(函数){ }
上面的代码是单独编写的,因为js导出只能在一个默认情况下使用一次。原因是,module.exports是使用module.exports相同。
导出默认值为123;
导出默认值也可以用来公开类。
其他一些用途
继承
这是模块继承。事实上,父模块引入子模块,然后公开子模块暴露的属性。
导出*;
编译后编译
严格使用;
object.defineproperty(出口,__esmodule
真正的价值:
});
无功_ =需要('。 / XX);
Object.keys(_)。ForEach(功能(关键){
如果(关键=默认| |关键=__esmodule )返回;
object.defineproperty(出口的关键,{)
枚举:真,
获取函数获取(){
返回_ {key};
}
});
});
注意下面的句子
如果(关键=默认| |关键=__esmodule )返回;
默认属性不对外公开…这表明我们在文件中引入的导出缺省值与导出默认值无效,而不是写方法。
从导出;
继承的编写通常用于组织多个模块,这些模块通常与以下包一起使用。
引线文件夹(报价包)
许多人不理解下面的代码行
导入*从O开始;
为什么要导入的文件夹,文件夹不能注意什么,至少有一个文件index.js或package.json也是JS的名字,因为文件夹里面index.js那么这是不是一个文件夹但Node.js包(详见Node.js包,导入文章)将被编译成通天塔的要求。需要的可以去参考路径指定的包,因此,进口可以进入一个文件夹,我们可以依靠index.js出口其他文件代码文件夹,例如:
/ / index.js
导出*从/1;
导出*从/2;
我们可以通过进口OO文件夹暴露在1.js和2.js性能。
总结
从编译代码巴别塔来看,我们可以看到,出口的使用类似于出口,出口module.exports和默认。
以上是本文的全部内容,希望能对您有所帮助,希望大家多多支持。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。