JavaScript如何使用导入和导出模块?代码示例

2021年3月30日10:07:45 发表评论 738 次浏览

JavaScript模块基本上是包含在给定程序中的库。它们用于将两个JavaScript程序连接在一起, 以调用在一个程序中编写的函数, 而无需在另一个程序中编写函数本身。

导入库:

这意味着在程序中包含一个库, 以便使用该库中定义的功能。为此, 请使用"要求"功能, 在其中传递库名称及其相对路径。

例子:

假设在文件名为library.js的同一文件夹中创建了一个库, 然后使用require函数包含该文件:

const lib = require('./library')

它将返回对该库的引用。现在, 如果库中定义了区域函数, 则将其用作lib.area()。

导出库:JavaScript中有一个特殊的对象, 称为module.exports。当某些程序包含或导入该模块(程序)时, 将暴露该对象。因此, 所有那些需要公开或需要可用的功能, 以便可以在module.exports中定义的其他文件中使用。

范例:编写两个不同的程序, 然后查看如何在给定程序中使用库(模块)中定义的函数。在库中定义两个简单函数, 以计算和打印矩形的面积和周长(如果提供了长度和宽度)。然后导出功能, 以便其他程序可以在需要时导入它们并可以使用它们。

导出模块示例:library.js

<script>
// Area function
let area = function (length, breadth) {
     let a = length * breadth;
     console.log( 'Area of the rectangle is ' + a + ' square unit' );
}
  
// Perimeter function
let perimeter = function (length, breadth) {
     let p = 2 * (length + breadth);
     console.log( 'Perimeter of the rectangle is ' + p + ' unit' );
}
  
// Making all functions available in this
// module to exports that we have made
// so that we can import this module and
// use these functions whenever we want.
module.exports = {
     area, perimeter
}
</script>

导入模块示例

要导入任何模块, 请使用名为" Require"的函数, 该函数将获取模块名称, 如果用户定义了模块, 则将其相对路径作为参数并返回其引用。

script.js包含上述JavaScript模块(library.js)。

Script.js

<script>
// Importing the module library containing
// area and perimeter functions.
// " ./ " is used if both the files are in the same folder.
const lib =  require( './library' );
  
let length = 10;
let breadth = 5;
  
// Calling the functions 
// defined in the lib module
lib.area(length, breadth);
lib.perimeter(length, breadth);
</script>

输出如下:

Area of the rectangle is 50 square unit
Perimeter of the rectangle is 30 unit

注意:要运行脚本, 首先将两个文件放在同一个文件夹中, 然后在终端中使用NodeJs解释器运行script.js。


木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: