前端 JS 经典:CommonJs 规范

简介: 前端 JS 经典:CommonJs 规范

1. Node 环境介绍

CommonJs 简称 CMJ,CMJ 的模块标准,必须在 node 的环境中才支持。在浏览器中用,是不行的。

查看电脑是否安装 node,通过打开终端,运行 node -v 查看是否返回 node 版本。返回则已安装。

CMJ 在 node 中怎么使用呢,其实和 JS 在浏览器环境下用法一样,变量的定义判断循环数组的使用等都一样。与 JS 在浏览器中用法不同的是,API 不一样,在 node 中使用 Node API,在 JS 中使用的是 Web Api(DOM 和 BOM)。其中 Node API 很强大的,是开发服务器用的。

node 环境有什么用呢,就是使我们的 JS 代码,脱离浏览器直接运行,怎么做呢,打开终端,运行 node xxx.js 命令即可。

2. CMJ 中的模块特点

在 node 环境中,所有的 js 文件均是模块。那什么叫模块呢,就是独立的功能单元。浏览器可以同时引用多个 js,但在 node 里同时只能运行一个 js,这个 js 被称为入口文件。其他拥有独立功能的 js 文件,可以通过导出后,被入口 JS 文件导入。比如将 index.js 作为入口文件,math.js 作为专门提供计算函数的模块。所有模块中的全局变量,函数,均不会发生环境污染。

3. 模块的导出

一个模块提供的函数,怎么给其他模块使用,那就需要把模块提供的函数导出,那怎么导出呢,在 node 中,通过 module.exports 导出。

// math.js
function add(a, b) {
  return a + b;
}
module.exports = {
  add,
};

4. 模块的导入

当一个模块,需要用到其他模块的函数或变量时,就需要导入这些函数和变量,那怎么导入呢,在 node 中,通过 require(模块路径),模块路径必须以 ./ ../ 开头。其中 ./ 表示当前目录,../ 表示上级目录。那 require 做了什么事呢,首先会找到模块路径的 js,然后把这个 js 从头到尾的运行一遍,运行完后,module.exports 的值就作为这个模块的导出,而 require 函数的返回结果就是 module.exports 的值。拿到这个值后,我们就可以用到别的模块的函数或变量了。

模块是有缓存的,第一次运行模块后,导出结果,会被缓存,之后在使用该模块,直接使用缓存结果。

// index.js
const math = require("./math.js");
 
math.add(1, 2); // 3


目录
相关文章
|
13天前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
|
13天前
|
移动开发 前端开发 JavaScript
前端实训,刚入门,我用原生技术(H5、C3、JS、JQ)手写【网易游戏】页面特效
于辰在大学期间带领团队参考网易游戏官网的部分游戏页面,开发了一系列前端实训作品。项目包括首页、2021校园招聘页面和明日之后游戏页面,涉及多种特效实现,如动态图片切换和人物聚合效果。作品源码已上传至CSDN,视频效果可在CSDN预览。
21 0
前端实训,刚入门,我用原生技术(H5、C3、JS、JQ)手写【网易游戏】页面特效
|
18天前
|
JavaScript 前端开发 开发者
前端框架对比:Vue.js与Angular的优劣分析与选择建议
【10月更文挑战第27天】在前端开发领域,Vue.js和Angular是两个备受瞩目的框架。本文对比了两者的优劣,Vue.js以轻量级和易上手著称,适合快速开发小型到中型项目;Angular则由Google支持,功能全面,适合大型企业级应用。选择时需考虑项目需求、团队熟悉度和长期维护等因素。
25 1
|
19天前
|
JavaScript 前端开发 API
前端框架对比:Vue.js与Angular的优劣分析与选择建议
【10月更文挑战第26天】前端技术的飞速发展让开发者在构建用户界面时有了更多选择。本文对比了Vue.js和Angular两大框架,介绍了它们的特点和优劣,并给出了在实际项目中如何选择的建议。Vue.js轻量级、易上手,适合小型项目;Angular结构化、功能强大,适合大型项目。
17 1
|
22天前
|
前端开发 JavaScript UED
"前端小技巧大揭秘:JS如何将后台时间戳秒变亲切小时前、分钟前,让用户秒懂,提升互动体验!"
【10月更文挑战第23天】在Web开发中,将后台返回的时间戳转换为“小时前”、“分钟前”、“刚刚”等友好的时间描述是常见需求。本文介绍如何用JavaScript实现这一功能,通过计算当前时间和时间戳的差值,返回相应的描述,提升用户体验。
25 1
|
29天前
|
前端开发 JavaScript 安全
JavaScript前端开发技术
JavaScript(简称JS)是一种广泛使用的脚本语言,特别在前端开发领域,它几乎成为了网页开发的标配。从简单的表单验证到复杂的单页应用(SPA),JavaScript都扮演着不可或缺的角色。
20 3
|
1月前
|
JavaScript 前端开发 应用服务中间件
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
141 0
|
4月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
96 2
|
4月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的小区物流配送系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的小区物流配送系统附带文章源码部署视频讲解等
123 4
|
4月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的宠物援助平台附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的宠物援助平台附带文章源码部署视频讲解等
82 4