0

0

深入浅析Nodejs的安装方法与模块系统

青灯夜游

青灯夜游

发布时间:2021-08-17 10:25:43

|

2417人浏览过

|

来源于掘金社区

转载

本篇文章给大家介绍一下nodejs的安装方法,以及nodejs的模块系统。

深入浅析Nodejs的安装方法与模块系统

关于NodeJS

Node.js 是一个基于 Chrome V8 引擎的 Javascript 运行环境。【推荐学习:《nodejs 教程》】
  • 在我们平时开发中,大部分的Web项目,前端都是使用JS编写的,而后端都是由服务端语言写的,比如JAVA PHP GO,但是因为Node的诞生,让前端开发者也可以使用JS来编写服务器代码,所以Node的诞生可谓是让前端大放异彩,前端后端两开花。
  • 特别是Node提供了开发环境运行的基础,像我们平常经常使用的Vue React这样的前端框架变得非常强大,可以说是前端必不可少的一个基础设备。
  • Node使用的人多了,我们前端使用JS贡献开源的人也逐渐变多,npm库就成了一个很大很大的代码仓库,在npm这个包管理系统中,我们可以在里面找到我们所需要的插件、轮子,我们直接拿来使用美滋滋,这样也给我们开发者省了很多宝贵的时间。
  • 关于更多NodeJS的介绍和作用在这篇文章已经介绍的很清楚了,大家有兴趣可以去看看传送门

NodeJS安装

1.png

  • 选择自己合适的版本进行下载,由于我电脑已经安装过了就不再演示了,只要打开安装程序一路下一步就可以了,具体想看更详细的安装指南和全局配置指南可以看到这篇:Node.js安装及环境配置之Windows篇
  • 安装完之后我们需要检查一下是否安装成功可以打开终端输入node -v

2.png

  • 可以看到我们已经安装了最新版16.6.1node

NodeJS使用

  • 我们在安装完node后可以在终端键入node进入交互模式,并输入一条我们程序员必备代码hello world

3.png

  • 当然我们也可以建一个JS文件来执行。
echo test>helloWorld.js
/* helloWorld.js */
console.log('你好世界!!!')

4.png

  • 我们只需要键入node+文件名即可执行这个文件。

NodeJS模块

  • Node应用由模块组成,采用的CommonJS模块规范。每一个文件就是一个模块,拥有自己独立的作用域,变量,以及函数等,对其他的模块都不可见,而文件路径就是模块名,所以我们需要了解不同模块之间是怎么交互怎么互相使用的。
  • 模块可以多次加载,但是只会在第一次加载时运行一次,模块加载的顺序,按照其在代码中出现的顺序。
  • 在编写每个模块时,都有requireexportsmodule三个预先定义好的变量可供使用。

加载(require)

  • require意为需要的,也就是说我们可以通过require来引入我们需要的模块,
let x=require('./hello')
let y=require('./hello.js')
  • 我们可以这样引入一个模块,require后面可以接收一个地址,可以是绝对路径也可以是相对路径。
  • 值得注意的是,我们的后缀.js扩展名可以省略不写。

导出(exports)

  • exports意为导出,也有一种说法是暴露,我们一般可以使用exports用于导出模块公有函数和属性。
/* hiNode.js */
exports.addIce=function(){
  console.log('我在加冰')
}
  • 我们在hiNode.js文件中暴露了一个函数addIce,这样我们可以在别的地方require这个模块并使用该函数。
/* helloWorld.js */
let x=require('./hiNode')
x.addIce()
  • 我们在终端键入node helloWorld.js

5.png

SmartB2B行业电子商务
SmartB2B行业电子商务

SmartB2B 是一款基于PHP、MySQL、Smarty的B2B行业电子商务网站管理系统,系统提供了供求模型、企业模型、产品模型、人才招聘模型、资讯模型等模块,适用于想在行业里取得领先地位的企业快速假设B2B网站,可以运行于Linux与Windows等多重服务器环境,安装方便,使用灵活。 系统使用当前流行的PHP语言开发,以MySQL为数据库,采用B/S架构,MVC模式开发。融入了模型化、模板

下载
  • 成功引入了模块并使用函数。

模块对象(module)

  • Node中我们通过module可以访问到当前模块的一些信息。
/* hiNode.js */
exports.addIce=function(){
  console.log('我在加冰')
}
console.log(module)

6.png

  • 可以看到我们打印的module里面有它导出的函数,文件名,路径等信息。实际上当我们require一个模块的时候,它读取的就是该文件的module.exports变量。
  • 这个module.exports变量一般是对象的形式如上图,所以我们经常最常用到module是为了改写module.exports变量这个导出变量,我们可以改成函数形式。
/* hiNode.js */
module.exports=function(){
  console.log('直接可以调用,我是一个函数')
}
/* helloWorld.js */
let x=require('./hiNode')
x()
  • 如上我们直接可以使用x是因为require了一个函数,模块默认导出对象被替换为一个函数。

7.png

写在最后

总的来说NodeJS应用是由模块组成的,我们可以在js文件导出exports函数等变量,在另一个js文件进行导入require这个模块。

更多编程相关知识,请访问:编程入门!!

相关专题

更多
php远程文件教程合集
php远程文件教程合集

本专题整合了php远程文件相关教程,阅读专题下面的文章了解更多详细内容。

21

2026.01.22

PHP后端开发相关内容汇总
PHP后端开发相关内容汇总

本专题整合了PHP后端开发相关内容,阅读专题下面的文章了解更多详细内容。

14

2026.01.22

php会话教程合集
php会话教程合集

本专题整合了php会话教程相关合集,阅读专题下面的文章了解更多详细内容。

8

2026.01.22

宝塔PHP8.4相关教程汇总
宝塔PHP8.4相关教程汇总

本专题整合了宝塔PHP8.4相关教程,阅读专题下面的文章了解更多详细内容。

7

2026.01.22

PHP特殊符号教程合集
PHP特殊符号教程合集

本专题整合了PHP特殊符号相关处理方法,阅读专题下面的文章了解更多详细内容。

6

2026.01.22

PHP探针相关教程合集
PHP探针相关教程合集

本专题整合了PHP探针相关教程,阅读专题下面的文章了解更多详细内容。

6

2026.01.22

菜鸟裹裹入口以及教程汇总
菜鸟裹裹入口以及教程汇总

本专题整合了菜鸟裹裹入口地址及教程分享,阅读专题下面的文章了解更多详细内容。

20

2026.01.22

Golang 性能分析与pprof调优实战
Golang 性能分析与pprof调优实战

本专题系统讲解 Golang 应用的性能分析与调优方法,重点覆盖 pprof 的使用方式,包括 CPU、内存、阻塞与 goroutine 分析,火焰图解读,常见性能瓶颈定位思路,以及在真实项目中进行针对性优化的实践技巧。通过案例讲解,帮助开发者掌握 用数据驱动的方式持续提升 Go 程序性能与稳定性。

9

2026.01.22

html编辑相关教程合集
html编辑相关教程合集

本专题整合了html编辑相关教程合集,阅读专题下面的文章了解更多详细内容。

106

2026.01.21

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
快速入门Node.JS全套完整版
快速入门Node.JS全套完整版

共83课时 | 8.3万人学习

nodejs开发基础教程
nodejs开发基础教程

共15课时 | 4.5万人学习

JavaScript设计模式视频教程
JavaScript设计模式视频教程

共28课时 | 5.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号