Node.JS教程

文章目录


Node.JS

Node.js学习指南

  • 服务端开发
  • 底层平台
  • 周边生态

学习前提

JavaScript、ES6

本文章主要是关于Node.js基础、Express、Koa2、MongoDB、MySQL、以及全栈项目和即时通讯和基于Mocha做测试,基于最新版V16.13和官网+周边生态,从而实现编写Restful Api接口和动态web网站的开发,即时通讯应用的开发

一、Node.js基础

1.认识Node.js

Node.js是一个javascript运行环境。它让javascript可以开发后端程序,实现几乎其他后端语言实现的所有功能,可以与PHP、Java、Python、.NET、Ruby等后端语言平起平坐。

Nodejs是基于V8引擎,V8是Google发布的开源JavaScript引擎,本身就是用于Chrome浏览器的js解释部分,但是Ryan Dahl 这哥们,鬼才般的,把这个V8搬到了服务器上,用于做服务器的软件。
nodejs的特性

  • Nodejs语法完全是js语法,只要你懂js基础就可以学会Nodejs后端开发
  • NodeJs超强的高并发能力,实现高性能服务器
  • 开发周期短、开发成本低、学习成本低

nodejs

游览器环境和node环境

Node.js 可以解析JS代码(没有浏览器安全级别的限制)提供很多系统级别的API

  • 文件的读写 (File System)
  • 进程的管理 (Process)
  • 网络通信 (HTTP/HTTPS)
  • ...

2.开发环境搭建

建议下载长期稳定版本
node中文官网


node官网

下载完成,如果安装不了,看是否是以下原因

安装步骤是傻瓜式的

查看是否有node环境(在任意文件路径下打开终端或Powershell)

bash 复制代码
node -v

接下来在node环境下运行一下js代码

3. 模块、包、commonJS

3.1、为什么要有模块化开发?

3.2、CommonJS规范


3.3、 modules模块化规范写法

我们可以把公共的功能 抽离成为一个单独的 js 文件 作为一个模块,默认情况下面这个模块里面的方法或者属性,外面是没法访问的。如果要让外部可以访问模块里面的方法或者属性,就必须在模块里面通过 exports 或者 module.exports 暴露属性或者方法。
体验一下

m1.js

js 复制代码
function _print(){
  console.log('print-m1')
}
module.exports=_print

m2.js

js 复制代码
function _print(){
  console.log('print-m2')
}
module.exports=_print

m3.js(测试暴露多个)

js 复制代码
function _print(){
  console.log('1暴露多个:print-m3')
}
function _print2(){
  console.log('2暴露多个:print-m3')
}
module.exports={
  _print,
  _print2
}
// 或
// exports._print=_print
// exports._print2=_print2

index.js(入口文件)`

js 复制代码
// 入口文件
var module_m1=require(`./m1`)//导入m1
var module_m2=require(`./m2`)//导入m2
var module_m3=require(`./m3`)//导入m3

//调用
module_m1()
module_m2()
// 调用暴露多个中的其中某个方法
module_m3._print()
module_m3._print2()

效果

总结

如果这篇【文章】有帮助到你💖,希望可以给我点个赞👍,创作不易,如果有对前端端或者对python感兴趣的朋友,请多多关注💖💖💖,咱们一起探讨和努力!!!

👨‍🔧 个人主页 : 前端初见

相关推荐
雨季mo浅忆16 小时前
记录Node.js安全漏洞及其内置Brotli解码器问题
node.js·安全性测试
tommyjiatong16 小时前
资安底座连环雷:从 PHP2Shell 到 Node2Shell
node.js·php
SEO_juper19 小时前
Bash 交叉验证 robots.txt 和 sitemap:两个文件自相矛盾,页面永远收录不了
开发语言·python·node.js·json·bash
SEO_juper20 小时前
Go 站点地图生成器:从首页爬全站,一键生成 sitemap.xml
xml·开发语言·人工智能·golang·node.js·seo·外贸独立站
Moshow郑锴1 天前
Ansible 批量部署 Node.js 服务:ZIP 直解与共享目录分发两种方案对比
node.js·ansible
少年的范儿2 天前
Windows 安装 Node.js 教程:nvm 版本管理 + pnpm 安装配置
windows·npm·node.js
peach2 天前
同样是装依赖,为什么 npm 长成 node_modules,Maven 长成 .m2
npm·node.js·maven
FungLeo2 天前
成为全栈·Go 后端篇·重写之前先锁基线:契约、Node 版本与行为清单
golang·node.js·go·openapi·契约测试·成为全栈
FungLeo3 天前
成为全栈·Go 后端篇·契约一致性与差分测试:两套实现如何互相校验
golang·node.js·go·合约测试·差分测试·成为全栈·api兼容
月夏3 天前
前端第一次接自己的后端:mock 切真接口踩了 2 个坑,组件只改了一行 import
前端·后端·node.js