今天要谈三个NodeJS的概念,进入新手村的第一个任务:Module、Exports与Require。因为在使用JavaScript开发网页时没有Module概念,加入Module的概念让NodeJS内建许多常用、通用的功能可以被开发人员引入程序码,省去许多程序码的撰写时间,开发人员也可自创Module以提升开发效率。
第一个NodeJS的重要概念是Module。在Module出现之前,JavaScript虽然可以在前端以<script>
标签引入其他程序码,但Module让JavaScript在後端也具有引入其他程序码的机制,例如:C#的类别(class
)、python的import
机制。Module用於存放可以重复使用的程序码,将程序码分门别类、以独立的JavaScript档储存,可以避免不经意的程序码冲突,在Module中存在一个代表Module本身的module
物件,藉由其中的exports
属性,配合require
语法,将程序码以更灵活的架构建置。
exports
作为一个物件,是源於module
的属性module.exports
,module.exports
以pass by reference的方式将属性传递给exports
物件,再将Module中的方法挂载到exports
上输出,exports
也是Module中唯一可以输出的窗口。
require()
是NodeJS中用来引用Module的函式,透过引入外部Module便可应用其指派於exports
的方法。
exports
上,Module的部分就准备完成。// count.js
exports.count = function(dMonth, dDay){
let date = new Date();
let dDate = new Date(2021,dMonth-1,dDay);
let diff = Math.floor(Math.abs(date-dDate)/(1000 * 3600 * 24))+1;
console.log(`iT铁人赛第 ${diff} 天!`);
}
require()
将count Module引入为Count
物件,require()
的参数是Module的档案名称,在没有输入副档名的情况下,预设副档名为.js
,若引入的Module为NodeJS内建,不需含有前缀路径./
。let Count = require("./count");
Count.count(9,16);
Module的机制让JavaScript更容易应用在後端开发上,透过Module设计程序码架构,可以提高程序的利用率~
以上是今天的小练习,明天继续努力!
深入浅出Node.js/朴灵 编着
Learn and Understand NodeJS [课程]
<<: [30天 Vue学好学满 DAY18] Vuex-1
这几年经历的公司,不约而同的在提倡「建立文化」,经过大大小小的工作坊,企业讲师授课,几间公司的 CE...
一般在写 windows form 程序时 如果不是大型开发 老板只要求 东西能动 项目立刻好 我们...
通常关联都是两两张资料表之间的关系,而多型态关联则是打破这个限制让一张表可以同时关连到两张以上的资料...
安装方式 根据官网介绍,本次铁人赛会着重介绍下列三种安装方式: CDN连结 快速建立react环境的...
在DAY21: NPM模块管理工具有提到Nodejs主要有内置模块(包含核心模块)、npm第三方模块...