node.js 是什么?
Node.js 是编程语言吗?
Node.js 不是一门编程语言,它是一个执行 JavaScript 代码的工具。工具是指可以安装在 计算机之上的软件。
为什么浏览器和 Node.js 都可以运行 JavaScript?
- 因为浏览器和 Node.js 都内置了 JavaScript V8 Engine。
- 它可以将 JavaScript 代码编译为计算机能够识别的机器码
浏览器中运行的 JavaScript 和 Node.js 中运行的 JavaScript 有区别吗?
浏览器为了能够让 JavaScript 操作浏览器窗口以及 HTML 文档,所以在 JavaScript V8 Engine 中添加了控制它们的 API, 就是 DOM 和 BOM. 所以 JavaScript 在浏览器中运行时是可以控制浏览器窗口对象和DOM文档对象的。
和浏览器不同,在 Node.js 中是没有 DOM 和 BOM 的,所以在 Node.js 中不能执行和它们相关的代码,比如 window.alert() 或者 document.getElementById(). DOM 和 DOM 是浏览器环境中特有的。
在 Node.js 中,作者向其中添加了很多系统级别的 API,比如对操作系统中的文件和文件夹进行操作。获取操作系统信息,比如系统内存总量是多少,系统临时目录在哪,对系统的进程进行操作等。
Node.js 能够做什么?
- 我们通常使用它来构建服务器端应用和创建前端工程化工具。
- JavaScript 运行在浏览器中我们就叫它客户端 JavaScript。
- JavaScript 运行在 Node.js 中我们就叫它服务器端 JavaScript
Node.js 的应用场景有哪些?
Node.js与经典的PHP也常有比较。Node.js比PHP更适合实时应用程序,如实时聊天或游戏。PHP环境的执行效率通常低于Node.js,同时Node.js具有更好的并发处理能力
Node.js适用于多种场景,尤其是那些重视实时数据交互和高并发的应用。这包括但不限于:
- API服务器:Node.js能够处理大量的同步请求,因此它成为构建RESTful API的理想选择。
- 单页应用(SPA):单页应用通常需要与服务器进行频繁的数据交互,Node.js能够提供良好的支持。
安装
## 安装 gulp 命令行工具
npm install --global gulp-cli
## 安装 gulp,作为开发时依赖项
npm install --save-dev gulp
为什么要用Gulp ?
在前端开发中,Gulp是一个node.js 的自动化构建工具,它通过流和代码优于配置的策略来简化任务编写的工作,可以帮助开发者构建自动化工作流程,如:
- 网页自动刷新、
- CSS预处理、
- 代码检测、
- 图片压缩等,
只需要简单的命令行就可以全部完成,提高了开发效率和质量。
官网
https://www.gulpjs.com.cn/docs/getting-started/quick-start/
实践
先决条件
管理员运行powershell
## 解除powershell 脚本运行
set-executionpolicy remotesigned
安装依赖
npm install gulp-cli -g
###
npm install gulp --save-dev
文件目录
root@vm-local:~/knight# tree myapp
myapp
├── dist
│ └── js
│ └── app.js
├── gulpfile.js
├── node_modules
├── package.json
├── package-lock.json
└── src
├── app.js
└── config.json
5 directories, 6 files
gulpfile.js
var gulp = require('gulp'); // 导入gulp
var uglify = require('gulp-uglify'); // 导入gulp-uglify
// 创建压缩任务,knight-js 是任务名
gulp.task('knight-js', done=> {
// 1. 找到文件
gulp.src('src/*.js')
// 2. uglify压缩
.pipe(uglify())
// 3. 另存到dist压缩后的文件
.pipe(gulp.dest('dist/js'))
done()
})
开始打包
# check task
gulp --tasks
## build
gulp knight-js
## 运行
node .\dist\js\app.js