首页 > 编程语言 >关于Nodejs入坑!!!

关于Nodejs入坑!!!

时间:2024-04-12 21:23:26浏览次数:28  
标签:npm node Nodejs js 关于 模块 入坑 第三方

关于Nodejs入门

  1. 什么是nodejs?

一个开源与跨平台的 JavaScript 运行时环境;可以理解为 Node.js 就是一个服务器端的、非阻塞式I/O的、事件驱动的JavaScript运行环境

Node作为一个新兴的前端框架,后台语言,有很多吸引人的地方:RESTful API,单线程。

https://www.ruanyifeng.com

特点:

1、nodejs是一个js运行平台

2、基于chrome v8引擎,性能好,速度快

3、使用事件驱动、非阻塞式I/O模型(异步),数和数据密集型的实时应用,用户体验好

2、为什么要使用nodejs?

让js语言媲美服务端语言,方便前端人员学习,后面vue react 是基于node。

  1. 安装Nodejs;
  2. win + R 输入 cmd 打开小黑窗;
  3. 输入node -v 或者 node --version 查看版本号 如果出现版本号说明安装成功;
  4. 在编辑器中新建入口文件。如下图(其实就是一个js后缀的普通js文件);

  1. 在文件上鼠标右击,选择在集成终端中打开(或者顶部菜单栏 -- 终端 -- 新建终端)
  2. node 文件地址(输入文件名的开头,按tab键会自动补全)回车。如下图

段落总结:Nodejs就是使用js脚本语言编写后端接口程序(API)使其可以像后端一样方便的向前端提供接口数据等服务方便了前端爱好者学习和钻研前端技术。

缺点就是不可以像前端js文件一样获取DOM节点,不适合CPU密集型应用;只支持单核CPU,不能充分利用CPU;可靠性低,一旦代码某个环节崩溃,整个系统都崩溃。

  1. 应用场景

借助Nodejs的特点和弊端,其应用场景分类如下:

第一大类:用户表单收集系统、后台管理系统、实时交互系统、考试系统、联网软件、高并发量的web应用程序

第二大类:基于web、canvas等多人联网游戏

第三大类:基于web的多人实时聊天客户端、聊天室、图文直播

第四大类:单页面浏览器应用程序

第五大类:操作数据库、为前端和移动端提供基于json的API

其实,Nodejs能实现几乎一切的应用,只考虑适不适合使用它。

段落总结:说白了就是因为js是单线程的编辑语言如何遇到大量并发的任务程序可能一下子死掉或者系统整个崩溃,而且由于Nodejs是单线程不能充分发挥还会浪费系统资源等。

命令:

Nodejs入口文件运行命令node app.js

  1. 什么是内置模块?

内置模块也叫核心模块其提供了公共 API的命名导出;除默认提供的语法之外,无需下载,直接引入,引入只写名称即可。

命令:require引入文件(例:var fs = require('fs'););

Fs内置模块:文件操作系统的API

写入文件异步操作:

同步写入 async异步 sync同步 : void没有返回值

在当前目录下新建一个名为2.txt内容为“同步写入的内容11111”的文本文件。

相关文档:https://nodejs.org/dist/latest-v18.x/docs/api/fs.html#fsunlinkpath-callbackhttp模块:HTTP 核心模块是 Node.js 网络的关键模块。

创建服务:

http.request()

发送 HTTP 请求到服务器,并创建 http.ClientRequest 类的实例。

自定义模块:

关键点:

1、编辑完后必须抛出否则无法使用;抛出命令exports.f = list;

  1. 引入、使用

var module1 = require('./module1');

console.log(module1, module1.f());

第三方模块:

安装第三方模块:

npm 模块包管理工具

查看版本号 npm -v 或者 npm --version

注意事项:

1、想要使用第三方模块,需要创建一个项目清单 用来记录下载了哪写第三方模块

npm init 注意Sorry, name can only contain URL-friendly characters. 注意package name "()'~!和中文 不能使用

2、创建入口文件 (index.js main.js app.js server.js)

3、编写代码 引入第三方模块 npm市场:https://www.npmjs.com/

3.1 安装第三方模块包(依赖包)

3.11、npm install 模块包名 或者 npm i 模块包名/

3.12、安装成功之后在package.json里面会出现安装过的依赖包的名称和版本号。如下图:

3.13、node_modules文件夹 下载的第三方依赖包都在这里面

3.14、package-lock.json 记录模块与模块之间的关系,记录所依赖的第三方模块包的结构和下载地址,下次重新安装的时候,能够加快下载速度

如果依赖包被删除了,但是package.json这个文件还在;使用npm i 命令 会自动检索package.json里面所有的依赖包,然后进行安装

4、运行

node app.js(注意:入口文件名)

npm run start 会自动去package.json中的script中找start对应的命令并执行。

关于token验证:

token为第三方插件需要下载引入后使用,用处对某一个东西进行加密;使用方式:参数第一个参数是加密的数据,第二个参数加密时使用的密钥。如图:

标签:npm,node,Nodejs,js,关于,模块,入坑,第三方
From: https://www.cnblogs.com/huwenlong/p/18132125

相关文章

  • 关于双$$变量覆写;
    本质上而言双$原本功能是允许用户自定义变量;但未过滤输入,导致传入参数是一代码中已经定义好的变量,或者全局变量时导致数据篡改,或调用危险函数;总之;导致的变量覆盖其实就是允许可控参数作为一个变量,这个变量可以是自定义变量,也可以是代码中的变量或全局变量或特殊构造的函数"......
  • 关于UNNAMED00004
    使用闪回恢复删除表空间。以下为截取的alert日志FriApr1216:28:512024droptablespaceusersincludingcontentsanddatafilesFriApr1216:28:572024DeletedOraclemanagedfile+DATA/ORCL/DATAFILE/users.280.1166105459Completed:droptablespaceusersin......
  • 关于C++作用域符的一种用法
    当作用域符号::前不带类名,或者namespace名的时候,表示是全局作用域的意思,也就是表示所调用的函数是全局函数,或者是某个动态库的函数,这对与代码的可阅读性有很大的帮助,因为它与类型成员函数的调用做了区分,表明该函数不是类成员函数如下图的send()函数,其前面的::表明send()函数不是......
  • 关于委托的新认识
    缘由在技能系统的业务开发中,需要用到一个字符串对应一个方法,我首先想到的就是事件,但我想尝试一下别的后悔了,平白无故给自己玩坑数据结构:Dictionary<string,Action>那如何去初始化它呢问了ChatGPT,最终的方案是使用一个SkillManager,其中的每一个方法,就是一个技能,那现在就得到......
  • 关于工业AI辅助制造(模具设计、模样生产制造环节)
    关于工业AI辅助制造(模具设计、模样生产制造环节)AI技术的具体使用场景:AI辅助模具设计;AI辅助模具安装工艺参数调整。具体方案设想:AI辅助模具设计:使用AI大模型对历史已有的设计方案数据和设计目标数据进行学习,对设计目标和设计方案进行关联并实现在新设计要求的情......
  • Tauri beta 开发,个人入坑经验
    https://github.com/AClon314/tauri-vuetify-learnTauri存在的意义省流总结:浏览器过于谨慎的更新支持、苹果反对PWA以防对应用商店的生态破坏。可以把tauri理解成Webview的mod模组APPvs网页浏览器可谓是全世界的互联网标准,W3C说的标准还不算,得看浏览器支不支持,目前仅剩下谷......
  • Oracle关于半连接SQL执行计划的执行路径一些有趣的实验
     Oracle关于半连接SQL执行计划的执行路径一些有趣的实验 从摩天轮的问答里边看到的一个问题,https://www.modb.pro/issue/34573大概有这么条SQL(包括环境构造语句),如何强制走出nestedloops的执行路径。createtabletb1asselect*fromdba_objects;createtabletb2as......
  • 关于期望 dp 的一点思考
    一、前言只是一些自己的理解,并不知正确与否。首先期望\(dp\)分为伪期望\(dp\)和真期望\(dp.\)二、伪期望\(dp\)对于伪期望\(dp\)来说,其在定义状态之后,一般可以认为状态之间的转移是线性的,即每一个\(dp\)状态转移到何处具有唯一对应性,只不过具体的实现上经过了概......
  • ubuntu系统上安装nodejs
    linux上python运行execjs函数,需要js环境,需要安装nodejs和npm sudoapt-getupdatecurl-sLhttps://deb.nodesource.com/setup_18.x|sudo-Ebashapt-getinstallnodejs-y报错 dpkg-deb:error:pastesubprocesswaskilledbysignal(Brokenpipe)  E:Sub-proces......
  • 关于Layui的多层级的下拉选项Select使用教程
    案例代码<selectname="parentSelect"lay-filter="parentSelect"><optionvalue="">请选择父级选项</option><optionvalue="1">父级选项1</option>......