13518219792

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

JavaScript中模块的导入和导出

简介

早期的 Web 网站主要由 HTML 和 CSS 组成。如果有任何 JavaScript 的代码需要在页面中执行,通常是以小的代码片段的形式来提供功能和交互性。结果就是通常 JavaScript 的代码都会被编写在一个文件中,然后通过 script 标签加载到页面中。开发人员可以将 JavaScript 代码拆分成多个 js 文件,但是所有 JavaScript 变量和函数都会被添加到全局作用域中。

但是随着 Angular、React 以及 Vue 等 Web 框架技术的发展,并且大部分公司都在开发高级 Web 应用而非桌面应用,JavaScript 就变得越来越重要了。将能够复用的代码逻辑封装成公共代码,并且在避免全局命名空间污染的前提下,将其模块化,这一需求就成为了必要。

ECMAScript 2015 规范引入了允许使用 import 和 export 语句的 modules 概念。在本教程中,你将学习什么是 JavaScript 模块以及如何使用 import 和export 管理代码结构。

模块化编程

在 JavaScript 引入模块化概念之前,当开发人员想要将代码封装时,需要创建多个文件并将这些文件链接为单独的脚本。作者为了说明这一点,创建了一个示例:index.html 文件和两个 JavaScript 文件,functions.js 和script.js。

index.html 文件将显示两个数字的和,差,乘积和商的结果,并在脚本标签中链接到两个JavaScript 文件。在文本编辑器中新建 index.html 并添加以下代码:

 
 
 
 
  1.  
  2.  
  3.    
  4.      
  5.      
  6.  
  7.     JavaScript Modules 
  8.    
  9.  
  10.    
  11.     

    Answers

     
  12.     

     and 

     
  13.  
  14.     

    Addition

     
  15.     

     
  16.  
  17.     

    Subtraction

     
  18.     

     
  19.  
  20.     

    Multiplication

     
  21.     

     
  22.  
  23.     

    Division

     
  24.     

     
  25.  
  26.      
  27.      
  28.    
  29.  

该 HTML 将在 h2 标签中显示变量 x 和 y 的值,并在其下 p 元素中显示这些变量的运算值。元素id 属性为了方便 script.js 文件中的 DOM 操作,script.js 文件还会设置 x 和 y 的值。更多 HTML 相关内容可以参考我的如何使用 HTML 创建网站系列文章。

functions.js 文件则提供第二个脚本中将要使用到的数学函数。打开 functions.js 文件并添加以下内容:

 
 
 
 
  1. function sum(x, y) { 
  2.   return x + y; 
  3.  
  4. function difference(x, y) { 
  5.   return x - y; 
  6.  
  7. function product(x, y) { 
  8.   return x * y; 
  9.  
  10. function quotient(x, y) { 
  11.   return x / y; 

最后,script.js 文件将计算出 x 和 y 的值,并显示结果:

 
 
 
 
  1. const x = 10; 
  2. const y = 5; 
  3.  
  4. document.getElementById("x").textContent = x; 
  5. document.getElementById("y").textContent = y; 
  6.  
  7. document.getElementById("addition").textContent = sum(x, y); 
  8. document.getElementById("subtraction").textContent = difference(x, y); 
  9. document.getElementById("multiplication").textContent = product(x, y); 
  10. document.getElementById("division").textContent = quotient(x, y); 

完成上述操作之后, 可以在浏览器中打开 index.html 查看运行结果:

对于只有少量 script 文件的网站应用,这是个很高效的代码拆分方案。然而,这种做法会存在一些问题:

其他资讯

让你的专属顾问为你服务