• node 之 基础知识


    思考:为什么javascript可以在浏览器中被执行

     答:因为浏览器中包含有解析器.

     不同的浏览器使用不同的javascript解析器

    1/chrome 浏览器 =>v8

    2/firefox 浏览器 +> odinmonkey(奥丁猴)

    3/safri 浏览器 =>jsCode

    4/IE浏览器 => Chakra(查克拉)

    注意:chrome 浏览器的v8是最好的

    思考:为什么javascript可以操作Dom和Bom

     答:每个浏览器都内置了Dom,Bom这样的api函数,因此浏览器才可以调用他们

    思考:浏览器中javascript运行环境

    (1)运行环境指的是代码正常运行所需的必要环境

    (2)V8引擎负责解析和执行js代码

    (3)内置api是由运行环境提供的特殊接口,只能在所属的运行环境中被调用

    node简介

    1.什么是node.js

    node.js是一个基于chrome V8引擎的javascript运行环境

    2.Node.js中的JavaScript运行环境

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

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

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

    3.Node.js可以做什么

    Node.js 作为一个 JavaScript 的运行环境,仅仅提供了基础的功能和API。然而,基于Node.js 提供的这些基础能,目前有很多强大的工具

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

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

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

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

    4.在Node.js环境中执行JavaScript代码

    REPL (英语:Read - Eval - Print - Loop,简称REPL)是一个简单的,交互式的编程环境。它和浏览器调试工具中的 console 面板 比较类似,我们可以通过REPL,来执行一些简单的Javascript 代码。REPL 中每个字母所代表的含义分别是读取 - 求值 - 输出 - 循环

    ⚫ R(Read):每当我们输入完毕代码之后敲击回车键,Node.js 环境就会读取用户输入的代码

    ⚫ E(Eval):把Read 进来的用户代码,进行解析和执行

    ⚫ P(Print):把第二步中解析执行的结果,输出给用户

    ⚫ L(Loop):当输出完毕之后,进入下一次的REP 循环,等待用户输入新的代码

     如何进入 REPL 环境:打开任意终端,直接输入node 命令并回车,就会进入到REPL 环境中;如何离开 REPL 环境:在终端中,按两次Ctrl + C 快捷键,就能退出REPL 环境;

     

    终端命令行的快捷键

    在 Windows 的命令行中,我们可以通过如下快捷键,来提高命令行的操作效率:
    
    ① 使用 ↑ 键,可以快速定位到上一次执行的命令
    
    ② 使用 tab 键,能够快速补全路径
    
    ③ 使用 esc 键,能够快速清空当前已输入的命令
    
    ④  powershell,输入 clear命令,可以清空终端。 cmd中要用 cls
    

      

    终端命令行

    1.ls =》 list 查看 ,查看当前文件夹下所有的目录列表
       dir =>  list 查看 ,查看当前文件夹下所有的目录列表
    2.cd =》 切换到某个文件夹下,  change directory
    3.cd ../  =》退回上级文件夹
      cd ./ 当前目录
    4.md=> 创建一个文件夹
    5.rd => 删除一个文件夹
    6.e:  => 磁盘名:   可以直接将路径变为e:
    7.pwd => 当前工作的目录,就是目前在终端操作的哪个目录
    

      

    1.fs文件系统模块

    1.1什么是fs文件系统模块

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

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

    ⚫ fs.writeFile() 方法,用来向指定的文件中写入内容如果要在 JavaScript 代码中,使用 fs 模块来操作文件,则需要使用如下的方式先导入它:

    const fs = reuire('fs')
    

      

    1.2读取指定文件中的内容

    1.fs.readFile()的语法格式

    使用 fs.readFile() 方法,可以读取指定文件中的内容,语法格式如下:

    fs.readFile(path[, options], callback)
    参数1:必选参数,需要指定一个文件路径的字符串,表示要读取哪个路径对应的文件。
    参数2:可选参数,表示以什么编码格式来读取文件。
    参数3:必选参数,文件读取完成后,通过回调函数拿到读取的结果(err,data)=>{}

    2.fs.readFile()的示例代码

    const fs = require('fs');
    fs.readFile('hello.txt', 'utf-8', (err, data) => {
        // 判断是否读取成功
        if (err) return console.log(err);
        console.log(data); 
    });
    

      

    1.3向指定的文件中写入内容

    1.fs.writeFile()的语法格式

    使用 fs.writeFile() 方法,可以向指定的文件中写入内容,语法格式如下

    fs.writeFile(file, data[, options], callback)
    参数1:必选参数,需要指定一个文件路径的字符串,表示要文件的存放路径。
    参数2:必选参数,表示要写入的内容。
    参数3:可选参数,表示以什么格式写入文件内容,默认值是utf8。
    参数4:必选参数,文件写入完成后的回调函数。

    2.fs.writeFile()的示例代码

    const fs = require('fs');
    fs.writeFile('./hello.txt', 'hello node', (err) => {
        // 判断是否写入成功
        if (err) return console.log(err);
        console.log('写入成功');
    });
    

      

    1.4读取指定目录下所有文件的名称

    1.fs.readdir()的语法格式

    使用 fs.readdir() 方法,可以读取指定目录下所有文件的名称,语法格式如下:

    fs.readdir(path[, options], callback)
    参数1:必选参数,表示要读取哪个目录下的文件名称列表。
    参数2:可选参数,以什么格式读取目录下的文件名称,默认值是utf8。
    参数3:必选参数,读取完成以后的回调函数。

    2.fs.readdir()的示例代码(得到的是一个数组)

    通过 fs.readdir() 方法,可以读取指定目录下,所有文件的名称:

    const fs = require('fs');
    fs.readdir('./', (err, data) => {
        // 错误处理
        if (err) return console.log(err);
        console.log(data);
    });
    

      

    二.path路径模块

    2.1 什么是path路径模块

    path 模块是 Node.js 官方提供的、用来处理路径的模块。它提供了一系列的方法和属性,用来满足用户对路径的处理 需求。

    ⚫ path.join() 方法,用来将多个路径片段拼接成一个完整的路径字符串

    ⚫ path.basename() 方法,用来从路径字符串中,将文件名解析出来

    const path = require('path')
    

      

    2.2路径拼接

    1.path.join()的语法格式

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

    path.join([...paths])
    ...paths <string> 路径片段的序列
    返回值: <string>

    2.path.join()的代码示例

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

    const path = require('path');
    
    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') ); // ------ 最常用的
    

    2.3获取路径中的文件名

    1.path.basename()的语法格式

    使用 path.basename() 方法,可以获取路径中的最后一部分,经常通过这个方法获取路径中的文件名

    path.basename(path[,ext])
    path <string> 必选参数,表示一个路径的字符串
    ext <string> 可选参数,表示可选的文件扩展名
    返回: <string> 表示路径中的最后一部分

    2.path.basename()的代码示例

    // 找文件名
    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
    

    2.4获取路径中的文件扩展名

    1.path.extname()的语法格式

    使用 path.extname() 方法,可以获取路径中的扩展名部分,语法格式如下: 

    path.extname(path)
    

    2.path.extname()的代码示例

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

    • // 找字符串中,最后一个点及之后的字符 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

      

      

     

      

     

      

     

      

  • 相关阅读:
    Effective Java 读书小结 2
    windows环境安装tensorflow
    工厂模式
    每秒处理3百万请求的Web集群搭建-如何生成每秒百万级别的 HTTP 请求?
    Python-代码对象
    Python-Mac OS X EI Capitan下安装Scrapy
    工具-常用工具
    PHP-XML基于流的解析器及其他常用解析器
    PHP-PHP常见错误
    Python-Sublime Text3 激活码
  • 原文地址:https://www.cnblogs.com/zmztya/p/14347637.html
Copyright © 2020-2023  润新知