Node — 第一天

Node-01

会 JavaScript,就能学会 Node.js!!!

**Node.js 的官网地址:
**

Node.js 的学习路径:

JavaScript 基础语法 + Node.js 内置 API 模块(fs、path、http等)+ 第三方 API 模块(express、mysql 等)

查看已安装的 Node.js 的版本号

打开终端,在终端输入命令 node –v 后,按下回车键,即可查看已安装的 Node.js 的版本号。
在这里插入图片描述

使用Node执行JS代码

REPL模式(了解)

node
> 这里写你的JS代码
Ctrl+C
Ctrl+C

这个模式,只适合,执行一些简单的JS代码

终端使用node命令执行js文件(推荐)

  • vscode打开代码文件夹
  • 在文件上右键–> 在终端中打开
    • 好处是,终端中执行node命令的文件夹,已经定位好了,我们不用切换文件夹了
  • 终端中,node js文件,回车

Node内置模块

fs 文件系统模块

内置模块,就相当于浏览器中的内置对象一样。都是对象,每个对象里面有很多方法和属性。
在这里插入图片描述

什么是 fs 文件系统模块

fs 模块是 Node.js 官方提供的、用来操作文件的模块。它提供了一系列的方法和属性,用来满足用户对文件的操作需求。
例如:
⚫ fs.readFile() 方法,用来读取指定文件中的内容
⚫ fs.writeFile() 方法,用来向指定的文件中写入内容
  • fs – file system 文件系统
    • 读取文件夹
    • 读取文件
    • 创建文件
    • 写入文件
  • path
  • querystring
  • http

  • 在这里插入图片描述

如何使用内置模块

  • 加载模块
    • const fs = require('fs') ;
  • 调用模块的方法

fs模块(file system 文件系统)

  • fs.readFile() – 异步读取文件

    fs.readFile(文件名, 'utf-8', (err, data) => {if (err) return console.log(err);data 就是读取的结果
    });
    

在这里插入图片描述

  • fs.writeFile() – 异步写入文件

    fs.writeFile(文件名, 内容, (err) => {});
    

在这里插入图片描述

  • fs.readdir() – 异步读取文件夹(了解)

path模块

- path.join(__dirname, ‘文件名’);

- __dirname 是node内置的全局变量

// path  --  路径 const path = require('path');// path.join(路径1,路径2,路径3...); // 方法会把给出的路径拼接到一起// console.log( path.join('a', 'b', 'c') ); // a/b/c
// console.log( path.join('a', '/b/', 'c') ); // a/b/c
// console.log( path.join('a', '/b/', 'c', 'index.html') ); // a/b/c/index.html
// console.log( path.join('a', 'b', '../c', 'index.html') ); // a/c/index.html
// console.log(__dirname); // node自带的全局变量,表示当前js文件所在的绝对路径// 拼接成绩.txt的绝对路径
console.log( path.join(__dirname, '成绩.txt') ); // ------ 最常用的

__dirname 表示当前js文件所在的路径(绝对路径)

path.extname() – 找文件的后缀;了解 path.basename() – 找文件的文件名;了解

const path = require('path');// 找字符串中,最后一个点及之后的字符
// console.log( path.extname('index.html') ); // .html
// console.log( path.extname('a.b.c.d.html') ); // .html
// console.log( path.extname('asdfas/asdfa/a.b.c.d.html') ); // .html
// console.log( path.extname('adf.adsf') ); // .adsf// 找文件名
// console.log( path.basename('index.html') ); // index.html
// console.log( path.basename('a/b/c/index.html') ); // index.html
// console.log( path.basename('a/b/c/index.html?id=3') ); // index.html?id=3
console.log( path.basename('/api/getbooks') ); // getbooks

querystring模块

  1. querystring.parse() – 把查询字符串转成对象
  2. querystring.stringify() – 把对象转成查询字符串
const querystring = require('querystring');// querystring -- 查询字符串
/*** 什么是查询字符串*  发送请求的时候,携带的字符串参数*  booksname=xxx&author=xxx*/let str = 'id=3&bookname=xiyouji&author=tangseng';// 一:把查询字符串转成对象let obj = querystring.parse(str);
//  console.log(obj); // {id: '3', bookname: 'xiyouji', author: 'tangseng'}// 二:把对象转成查询字符串console.log( querystring.stringify(obj) ); // id=3&bookname=xiyouji&author=tangseng

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

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

相关文章

TCP/IP(四):TCP 与 UDP 协议简介

从本章开始,我们开始介绍最重要的传输层。传输层位于 OSI 七层模型的第四层(由下往上)。顾名思义,传输层的主要作用是实现应用程序之间的通信。网络层主要是保证不同数据链路下数据的可达性,至于如何传输数据则是由传输…

Node — 第二天

http模块 搭建服务器的步骤 ① 导入 http 模块 ② 创建 web 服务器实例 ③ 为服务器实例绑定 request 事件,监听客户端的请求 ④ 启动服务器 // ① 导入 http 模块 const http require(http);// ② 创建 web 服务器实例 const server http.createServer();/…

《学习之道》第九章不要突击工作

灵感从天而降的时刻确实是存在的。 这样少见的创造性突破,通常是在经历了一番神经紧张的准备、竭尽全力的努力,甚至包括熬夜工作后才姗姗来迟。这与 数学 和 科学标准的一天学习 是大不相同的。 它更像体育运动:每隔一阵子会有一天的比赛&…

TCP/IP(五):TCP 协议详解

上一节 中讲过,TCP 协议是面向有连接的协议,它具有丢包重发和流量控制的功能,这是它区别于 UDP 协议最大的特点。本文就主要讨论这两个功能。 数据包重发 数据发送 丢包重发的前提是发送方能够知道接收方是否成功的接收了消息。所以&#…

nodeJS — 学习的笔记

Node介绍 为什么要学习Node.js 企业需求 具有服务端开发经验更改front-endback-end全栈开发工程师基本的网站开发能力 服务端前端运维部署 多人社区 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MVqHkEIo-1588084625862)(C:\Users\A\AppData\R…

TCP/IP(六):HTTP 与 HTTPS 简介

本文是准备面试过程中网络部分总结整理的最后一篇文章,主要介绍以下知识: HTTP 协议概述POST 请求和 GET 请求Cookie 和 Session数据传输时的加密HTTPS 简介 HTTP 协议 在 OSI 七层模型中,HTTP 协议位于最顶层的应用层中。通过浏览器访问网…

Node — 第三天

模块化 什么是模块化 模块化是指解决一个复杂问题时,自顶向下逐层把系统划分成若干模块的过程。 对于整个系统来说,模块是可组合、分解和更换的单元。 生活中的模块化 编程中的模块化 编程领域中的模块化,就是遵守固定的规则,…

FireDAC 中文字段过滤问题

当使用 FireDAC Filter 过滤数据的时候,通常这样写: FDMemTable.Filtered : False; FDMemTable1.Filter : 姓名 string(edtFilter.Text).QuotedString; FDMemTable.Filtered : True; 将会报错:[FireDAC][Stan][Eval]-107. Invalid characte…

UIScrollViewDelegate-代理API详解

在iOS编程中,经常用到UIScrollView控件。自然也会用到UIScrollViewDelegate协议。 今天就抽空,研究了一下UIScrollViewDelegate中所有的委托方法。 仅做Mark!如有,错误之处,欢迎留言指正,交流!贴…

License for package Android SDK Build-Tools 28.0.2 not accepted.(MAC)

https://blog.csdn.net/user11223344abc/article/details/83997907转载于:https://www.cnblogs.com/dtdxrk/p/10812469.html

Express — 使用步骤

Express Express 介绍安装搭建服务器的步骤express提供的新方法GET接口 获取GET中的请求参数 POST接口 获取POST请求提交的数据 中间件原理中间件语法中间件初体验(设置响应头)中间件开放静态资源中间件接收POST请求体中间件返回404页面 express 介绍 E…

大模型工具_Langchain-Chatchat

https://github.com/chatchat-space/Langchain-Chatchat 原Langchain-ChatGLM 1 功能 整体功能,想解决什么问题 基于 Langchain 与 ChatGLM 等LLM模型,搭建一套针对中文场景与开源模型,界面友好、可离线运行的知识库问答解决方案。 当前解决…

iOS 键盘风格详解UIKeyboardType

一、键盘风格 UIKit框架支持8种风格键盘。 [java] view plaincopy print?typedef enum { UIKeyboardTypeDefault, // 默认键盘:支持所有字符 UIKeyboardTypeASCIICapable, // 支持ASCII的默认键盘 UIKeyboardTypeNu…

MySQL Hardware--FIO压测

FIO参数 filename/export/1.txt 支持文件系统或者裸设备,-filename/dev/sda2或-filename/dev/sdb direct1 测试过程绕过机器自带的buffer,使测试结果更真实 rwrandwread 测试随机读的I/O rwrandwrite 测试随机…

Node — 第四天(Promise与路由)

Promise - ES6新对象 Promise能够处理异步程序。 回调地狱 JS中或node中,都大量的使用了回调函数进行异步操作,而异步操作什么时候返回结果是不可控的,如果我们希望几个异步请求按照顺序来执行,那么就需要将这些异步操作嵌套起来…

xcode8 升级后注释快捷键不能使用的解决方法

一种说法: 这个是因为苹果解决xcode ghost。把插件屏蔽了。解决方法 命令运行: sudo /usr/libexec/xpccachectl 然后必须重启电脑后生效 还有一种说法:不用指令直接重启就可以了。

winform datagridview控件使用

最近做项目时&#xff0c;显示查询结果总需要绑定到datagridview控件上显示&#xff0c;总结了给datagridview绑定数据的方式&#xff0c;以及导出datagridview数据到excel表格&#xff0c;如有错误请多指教 1.直接绑定数据源&#xff0c;可以绑定的数据格式有List<T>,Da…

Node — 第五天

1. MySQL数据库 phpstudy 数据库服务器及图形化软件 软件链接 链接&#xff1a;https://pan.baidu.com/s/1F8wdoMstHAJkINfDKDejsw 提取码&#xff1a;xl3k 数据库对于我们前端同学来说&#xff0c;就是一个了解。 对于不会变化的数据&#xff08;省、市、县&#xff09;&…

iOS10 权限访问崩溃

手机升级了 iOS10 Beta&#xff0c;然后用正在开发的项目 装了个ipa包&#xff0c;发现点击有关 权限访问 直接Crash了&#xff0c;并在控制台输出了一些信息&#xff1a; This app has crashed because it attempted to access privacy-sensitive data without a usage descr…

Node — 第六天(前后端分离)及(身份验证)

综合应用服务端知识点搭建项目 下载安装所需的第三方模块 npm init -y npm i express cors mysql # express 用于搭建服务器 # cors 用于解决跨域 # mysql 用于操作数据库# 后面用到什么&#xff0c;再下载创建app.js 之前&#xff0c;我们开启一个服务器&#xff0c;js文件…