Node.JS教程

news2024/12/24 8:46:52

文章目录

  • Node.JS
  • Node.js学习指南
  • 一、Node.js基础
    • 1.认识Node.js
    • 2.开发环境搭建
    • 3. 模块、包、commonJS
        • 3.1、为什么要有模块化开发?
        • 3.2、CommonJS规范
        • 3.3、 modules模块化规范写法
  • 总结


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)
在这里插入图片描述

node -v

在这里插入图片描述
接下来在node环境下运行一下js代码
在这里插入图片描述

3. 模块、包、commonJS

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

在这里插入图片描述

3.2、CommonJS规范

在这里插入图片描述
在这里插入图片描述

3.3、 modules模块化规范写法

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

m1.js

function _print(){
  console.log('print-m1')
}
module.exports=_print

m2.js

function _print(){
  console.log('print-m2')
}
module.exports=_print

m3.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(入口文件)`

// 入口文件
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感兴趣的朋友,请多多关注💖💖💖,咱们一起探讨和努力!!!
👨‍🔧 个人主页 : 前端初见

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/914044.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023年菏泽市中职学校技能大赛“网络安全”赛项规程

2023年菏泽市中职学校技能大赛 “网络安全”赛项规程 一、赛项名称 赛项名称:网络安全 赛项所属专业大类:信息技术类 二、竞赛目的 通过竞赛,检验参赛选手对网络、服务器系统等网络空间中各个信息系统的安全防护能力,以及分析…

第二篇论文写作启发点V5

第二篇论文写作启发点V5 2.LLFLow模型的缺陷,这是先验,如果先验出现错误,那么后面这个模型都会错误。而我们使用了学习的方式去解决 3. 参考文献和实验时的对照模型最好使用最新的,就是没有被引用过的,这样可以降低论文…

【大数据】Linkis 简述

Linkis 简述 1.引言2.背景3.设计初衷4.技术架构5.业务架构6.处理流程7.如何支撑高并发8.用户级隔离度和调度时效性9.总结 Linkis 是微众银行开源的一款 数据中间件,用于解决前台各种工具、应用,和后台各种计算存储引擎间的连接、访问和复用问题。 1.引言…

ImportError: cannot import name ‘SQLDatabaseChain‘ from ‘langchain‘解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

使用IDEA把Java程序打包成jar

点击左上角File,选择Project Structure 左侧选中Artifacts,点击右侧的号 选择JAR->From modules with dependencies 选择你要运行的main方法所在的类,选好了点击OK Artifacts添加完成后点击右下角OK 在工具栏中找到Build,选择Build Artifacts 刚才创建好的Artifacts,选择Bui…

食品饮料制造行业如何实现数字化转型和工业4.0

随着科技的不断进步和全球产业的不断发展,食品饮料制造行业也正迎来数字化转型和工业4.0的浪潮。这一转型不仅提升了生产效率和质量,还满足了消费者对更健康、更可持续产品的需求。本文将深入探讨食品饮料制造行业在数字化转型和工业4.0方面的趋势、挑战…

文心一言测评,满足你的生活工作方方面面

出品| 大力财经 文 | 魏力 随着国产大模型如雨后春笋般爆发,百度文心一言在多个中文任务中已经超越了ChatGPT。 文心一言的逻辑性强,能够满足提问者的各种需求,并在各个领域都有出色的表现。在多个领域,人工智能需要更准确地回…

SQL - Navicat查看SQL执行计划

我们在工作中肯定写过sql语句,也会进行一下sql语句的优化,在优化sql语句里看过相应的explain 在进行sql语句优化的时候,理解执行计划中各个参数的意思,弄明白执行的顺序,对sql优化有很大的帮助。 1、通过 Explain 命令…

编程的成就感到底在哪里?

一个好的开发人员如何成为一个伟大的开发人员? 暂时忘记伟大:一个体面的开发人员如何成为一个好的开发人员? 从步骤 1 到步骤 n 没有明确的路径。 哎呀,甚至不清楚步骤n是什么。 作为具有逻辑思维的开发人员类型,缺乏…

计算机视觉 -- 图像分割

文章目录 1. 图像分割2. FCN2.1 语义分割– FCN (Fully Convolutional Networks)2.2 FCN--deconv2.3 Unpool2.4 拓展–DeconvNet 3. 实例分割3.1 实例分割--Mask R-CNN3.2 Mask R-CNN3.3 Faster R-CNN与 Mask R-CNN3.4 Mask R-CNN:Resnet1013…

Gateway简述

前言 ​ 在微服务架构中,一个系统会被拆分为很多个微服务。那么作为客户端调用多个微服务接口的地址。另外微服务架构的请求中,90%的都携带认证信息/用户登录信息,都需要做相关的限制管理,API网关由此应允而生。 这样的架构会存…

解决github上http克隆代码问题(SSH方式)centos

常见报错如下: fatal: unable to access https://github.com/cnych/demo_service/: Failed connect to 127.0.0.1:1080; Connection refused 代理问题报错 fatal: unable to access https://github.com/cnych/emo_service/: TCP connection reset by peer https…

BLE4.2 ch582 TMOS使用

需要注意的是,TMOS(任务管理系统)的时基是625us。每个Take任务最多能有15个事件; 创建一个TMOS任务,需要分五步: 1.创建任务TakeID static uint8_t LEDTaskId INVALID_TASK_ID;2.定义一个事件标志 #define LEDTas…

【附安装包】SolidWorks2023安装教程

软件下载 软件:Solidowrks版本:2023语言:简体中文大小:15.76G安装环境:Win11/Win10/Win8/Win7硬件要求:CPU3.0GHz 内存8G(或更高)下载通道①百度网盘丨64位下载链接:https://pan.ba…

测试驱动开发(TDD)

测试驱动开发(TDD) 本篇文章简单叙述一下什么是测试驱动开发,以及怎么进行测试驱动开发! TDD (Test Driven Development):(源于极限编程(XP))在不…

树莓派时间更新为中国区时间

一、测试环境为:树莓派3B piraspberrypi:~/workfile/lorawan/lorawan-gw $ uname -a Linux raspberrypi 6.1.21-v7 #1642 SMP Mon Apr 3 17:20:52 BST 2023 armv7l GNU/Linux 测试过程中,请确保树莓派连接网络 ; 二、安装ntp相关命令&…

【linux】2 Linux编译器-gcc/g++和Linux调试器-gdb

文章目录 一、Linux编译器-gcc/g使用1.1 背景知识1.2 gcc如何完成1.3 函数库1.4 gcc选项 二、linux调试器-gdb使用2.1 背景2.2 开始使用 总结 ヾ(๑╹◡╹)ノ" 人总要为过去的懒惰而付出代价ヾ(๑╹◡╹)ノ" 一、Linux编译器-gcc/g使用 1.1 背景…

Java面试题—2023年8月22日—HRCT

2023-08-22 14:13:52北京hu ruǎn chāo tōng 答案仅供参考,博主仅记录发表,没有实际查询,不保证正确性。 一、选择题(单选) 1、Java 语盲中,方法的重写(Overriding)和(Overloading)是多态性的不同表现下…

AI夏令营笔记——任务2

文章目录 任务说明实现思路优化方向 任务说明 任务要求与任务1一样: 从论文标题、摘要作者等信息,判断该论文是否属于医学领域的文献。 可以将任务看作是一个文本二分类任务。机器需要根据对论文摘要等信息的理解,将论文划分为医学领域的文…

Python中的时间序列分析模型ARIMA

大家好,时间序列分析广泛用于预测和预报时间序列中的未来数据点,ARIMA模型被广泛用于时间序列预测,并被认为是最流行的方法之一。本文将介绍如何在Python中搭建和评估用于时间序列预测的ARIMA模型。 什么是ARIMA模型 ARIMA模型是一种用于分…