Node.js——Day01

Nodejs(day01)

Node.js简介

Node.js 中的 JavaScript 运行环境

  • 浏览器是 JavaScript 的前端运行环境。

  • Node.js 是 JavaScript 的后端运行环境。

  • Node.js 中无法调用 DOM 和 BOM 等浏览器内置 API。

Node.js可以做什么

Node.js 作为一个 JavaScript 的运行环境,仅仅提供了基础的功能和 API。然而,基于 Node.js 提供的这些基础能,很多强大的工具和框架如雨后春笋,层出不穷,所以学会了 Node.js ,可以让前端程序员胜任更多的工作和岗位:

  • 基于 Express 框架(http://www.expressjs.com.cn/),可以快速构建 Web 应用

  • 基于 Electron 框架(https://electronjs.org/),可以构建跨平台的桌面应用

  • 基于 restify 框架(http://restify.com/),可以快速构建 API 接口项目

  • 读写和操作数据库、创建实用的命令行工具辅助前端开发、etc…

Node.js怎么学

  • 浏览器中的JavaScript学习路径:
    • JavaScript基础语法 + 浏览器内置API(DOM + BOM) + 第三方库(jQuery、art-template等)
  • Node.js的学习路径:
    • JavaScript基础语法 + Node.js内置API模块(fs、path、http等) + 第三方API模块(express、mysql等)

Node.js环境的安装

进入到 Node.js 的官网首页(https://nodejs.org/en/),下载所需的版本后,双击直接安装即可。

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

在终端中输入命令,即可查看安装的node版本号

node -v

什么是终端

终端(英文:Terminal)是专门为开发人员设计的,用于实现人机交互的一种方式。

  • 使用 ↑ 键,可以快速定位到上一次执行的命令

  • 使用 tab 键,能够快速补全路径

  • 使用 esc 键,能够快速清空当前已输入的命令

  • 输入 cls 命令,可以清空终端

fs文件系统模块

什么是fs文件系统模块

fs 模块是 Node.js 官方提供的、用来操作文件的模块。它提供了一系列的方法和属性,用来满足用户对文件的操作需求。

  • fs.readFile() 方法,用来读取指定文件中的内容

  • fs.writeFile() 方法,用来向指定的文件中写入内容

如果要在 JavaScript 代码中,使用 fs 模块来操作文件,则需要使用如下的方式先导入它:

const fs = require('fs');

路径动态拼接的问题

在使用 fs 模块操作文件时,如果提供的操作路径是以 ./ 或 …/ 开头的相对路径时,很容易出现路径动态拼接错误的问题。

原因:代码在运行的时候,会以执行 node 命令时所处的目录,动态拼接出被操作文件的完整路径。

解决方案:在使用 fs 模块操作文件时,直接提供完整的路径,不要提供 ./ 或 …/ 开头的相对路径,从而防止路径动态拼接的问题。

__dirname

用于获取当前文件的路径

path.join()

使用前需要导入模块

const path = require('path');

…/会抵消前面的路径

使用path.join()方法,可以把多个路径片段拼接为完整的路径字符串

path.basename()

使用path.basename()方法,可以从一个文件路径中,获取到文件的最后名称部分

const path = require('path')

// 定义文件的存放路径
const fpath = 'a/b/c/d/index.html'
//获取到文件的名称
const fullname = path.basename(fpath)//index.html
console.log(fullname)
// 去除扩展名,获得index
const thiredname = path.basename(fpath, 'html')//index
console.log(thiredname)
path.extname()

使用path.extname()方法,可以获取路径中的扩展名部分

const path = require('path')
// 定义文件的存放路径
const fpath = 'a/b/c/d/index.html'

const fext = path.extname(fpath)
console.log(fext) //输出.html
fs.writeFile()
  • fs.writeFile() 方法只能用来创建文件,不能用来创建路径

  • 重复调用 fs.writeFile() 写入同一个文件,新写入的内容会覆盖之前的旧内容

你可能感兴趣的:(node.js,node.js)