前端最根底的就是 HTML+CSS+Javascript。把握了这三门技术就算入门,但也仅仅是入门,当初前端开发的定义曾经远远不止这些。前端小课堂(HTML/CSS/JS),本着晋升技术水平,打牢基础知识的中心思想,咱们开课啦(每周四)。

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境。 是一个事件驱动 I/O 服务端 JavaScript 环境,基于 Google 的 V8 引擎,V8 引擎执行 Javascript 的速度十分快,性能十分好。

反对 windows、linux、macOS、Docker 镜像。

Node.js 与浏览器的区别

  1. 在浏览器中,大多数时候做的是与 DOM 或其他 Web 平台 API(例如 Cookies)进行交互。 当然,那些在 Node.js 中是不存在的。 没有浏览器提供的 documentwindow、以及所有其余的对象。
  2. 在浏览器中,不存在 Node.js 通过其模块提供的 API,例如文件系统拜访性能。
  3. 在 Node.js 中,能够管制运行环境。 除非构建的是任何人都能够在任何中央部署的开源应用程序,否则你能晓得会在哪个版本的 Node.js 上运行该应用程序。 与浏览器环境(你无奈抉择访客会应用的浏览器)相比起来,这十分不便。
  4. Node.js 应用 CommonJS 模块零碎,而在浏览器中,则还正在实现 ES 模块规范。
    在实践中,这意味着在 Node.js 中应用 require(),而在浏览器中则应用 import

当然,如果你不想看下面那些内容,咱们能够看上面的表格

个性Node浏览器备注
顶级对象globalwindow
AJAXrequire('http')XMLHttpRequest能够思考应用 axios 跨平台
文件系统require('fs')×据说 chrome 要加,没认真钻研如何保障平安
模块零碎CommonJS,require()ES,importbabel 在手,都是小问题
运行环境服务器客户端其实环境的问题还是存在的
HTML、HTML5、css、css3×
事件循环√,和浏览器的不统一,node 本人也批改过√,基本上各个厂商的能保持一致
流概念、二进制数据√,Buffer,Stream√,Blob,ArrayBuffer

Node 能够做什么?

web 服务器

启动一个 web 服务器

// 依赖 http 模块创立 web 服务器const http = require('http')// 设置监听的端口const hostname = '127.0.0.1'const port = 3000// 创立一个 web 服务const server = http.createServer((req, res) => { res.statusCode = 200 // 留神一下编码问题哟 res.setHeader('Content-Type', 'text/plain; charset=UTF-8') res.end('你好,欢送拜访 https://www.lilnong.top')})// 应用下面设置好的端口监听server.listen(port, hostname, () => { console.log(`服务器运行在 http://${hostname}:${port}/`)})

脚本程序

获取当前目录上面的所有 json 文件,进行解决 node app.js

// app.js 文件const fs = require("fs");const path = require('path');const readDir = (entry, paths = []) => {    const dirInfo = fs.readdirSync(entry);    dirInfo.forEach(item=>{        const location = path.join(entry,item);        const info = fs.statSync(location);        if(info.isDirectory()){            console.log(`dir:${location}`);            readDir(location, [item]);        }else{            if(/.json$/.test(location)){                // readFile(location, paths)            }        }    })}// console.log('__dirname', __dirname)readDir(__dirname);

交互式应用

下面的代码咱们能够间接在 cmd 中应用

微信公众号:前端linong

参考文献

  1. 前端培训目录、前端培训布局、前端培训打算