#5 -Modules and require()

我们在写 node.js 的时候,不会把所有东西都丢进一个 js 档里,这会让档案变得太过庞大和难以管理,取而代之的是,我们会将程序码逐一分装成不同的档案,像把跟读写有关的 code 放进一支档案里;跟连线有关的 code 放另一支,而这些有着不同功能 code 的档案被称为「模组」(Modules),等我们有需求时再将这些 Modules 汇入进来。

举例来说,我们在新增了一个 count.js 档案,里面有个可以计算 array 长度的 function :

let counter = function(arr){
  return `There are ${arr.length} elements in this array` ;
  }
  
  // 呼叫这个function
  counter(['熊仔', '剃刀', 'Leo王', '大支'])
  
  // output:There are 4 elements in this array

接着,我们若是想在别的档案使用这个 function,是不是只要输入:

require('/count) 就好了呢?

非也,非也。
俗话说,感情就像候车月台 有人走 有人来。
Module 也是!
我们也得先进行一个输出模组的动作,才能让别人输入它
因此,上面的 code 我们再加入输出的动作:

let counter = function(arr){
  return `There are ${arr.length} elements in this array` ;
  }
  
  // 输出这个 Module
  // module.exports = <要输出的东西>
  module.exports = counter

这样就成功的输出 count.js 这个 module了!
接着我们回到要使用 count module 的档案,并用一个变数承接这个 exports:

const counter =require('/count')

这样我们就能正常的使用 count module,是不是很简单ㄚ!!!!


<<:  我们的基因体时代-AI, Data和生物资讯 Day05- 深度学习在基因体学的建模架构02

>>:  #5 Types of CSS Selector

赌场也有打烊的时候 - 盘後回测

写好 tick 交易策略之後,需要回测一下当天的买卖进出点是否正确 ticks = api.tick...

[ 卡卡 DAY 22 ] - React Native 元件害羞之骨架屏先让你瞧 react-native-skeleton-placeholder

咦 大家有见网友的经验吗? 在还没见面前是否都是以照片来判断这个人是不是自己的菜? 网站也有一个时...

Day11:插入排序法(Insertion Sort)

谈谈插入排序(Insertion Sort) 在开始今天之前,先来看看影片(约2分钟)吧! http...

企划实现(17)

跳转到IG、youtube 常常会看到许多程序有一个可以跳转到他们自己的ig、youtube的功能,...

[ JS个人笔记 ] Event Loop事件循环—DAY11

理解js单执行绪&非同步运行机制 由於js为单执行绪,也就是一次只处理一件事情并依序执行,但...