Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nodejs教程01:Nodejs简介 #32

Open
chencl1986 opened this issue Mar 18, 2019 · 0 comments
Open

Nodejs教程01:Nodejs简介 #32

chencl1986 opened this issue Mar 18, 2019 · 0 comments

Comments

@chencl1986
Copy link
Owner

阅读更多系列文章请访问我的GitHub博客,示例代码请访问这里

Nodejs简介

  1. 简单的说 Node.js 就是运行在服务端的 JavaScript。
  2. Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。
  3. Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。

Nodejs的应用场景

由于Nodejs目前还不够成熟,因此一般不会用作独立开发,它的主要用途如下

  1. 中间层

通常在开发应用时,出于安全考虑,后端的主服务器都不会直接暴露给客户端,两端之间通常需要有一个中间层进行通信。

这样做的好处是,如果中间层出现问题,不会影响后端的主服务器。另外,中间层可以做缓存,或者实现一些业务逻辑,起到降低主服务器复杂度,提高性能的作用。

中间层也可以像CDN一样在各处部署,以提高用户的访问效率。

  1. 小型服务

可以实现一些小型应用,或某个功能模块。

  1. 工具类
    Nodejs可以用来开发一些实用工具,如Webpack、Gulp等等。

Nodejs的优势

  1. Nodejs的语法与前台JavaScript相同,因此便于前端开发入手

  2. 性能高

  3. 利于与前端代码结合,例如在做同样一个数据校验时,前后台代码可以共用,不需要单独开发。

Nodejs的安装

Nodejs的安装与普通软件一样,上官网https://nodejs.org/en/下载最新版本,建议安装Current版本,LTS版本有些新API无法使用,一直下一步安装即可。

Nodejs的卸载

当需要升级Nodejs时,建议先完全卸载旧版本,特别是全局已下载的依赖,否则有小概率会出现更新版本后,新安装依赖时报错。

完整卸载步骤:

  1. 通过系统自带卸载工具,卸载Nodejs,之后最好将Nodejs安装目录整个删除。

  2. 手动删除安装目录,如C:\Program Files\nodejs目录下的node_modules文件夹。

  3. 找到用户目录,如C:\Users\你的用户名,其中如果有node_modules文件夹,则一起删除。

启动一个Nodejs服务器

示例代码:/lesson01/server.js

我们可以新建一个server.js文件,在命令行通过node server.js命令,就可以运行一个服务器,在浏览器访问中访问http://127.0.0.1:3000/,就可以看到Hello World。

// 引入Nodejs自带的http模块
const http = require('http');
// 引入Nodejs自带的child_process模块
const childProcess = require('child_process');

const hostname = '127.0.0.1'; // 本机地址
const port = 3000; // 端口

// 创建一个服务器
const server = http.createServer((req, res) => {
  res.statusCode = 200; // 设置响应状态码
  res.setHeader('Content-Type', 'text/plain'); // 设置响应头
  res.end('Hello World\n'); // 向前台输出内容
});

// 开启监听
server.listen(port, hostname, () => {
  // 在命令行打印运行结果
  console.log(`Server running at http://${hostname}:${port}/`);
  // 使用默认浏览器打开地址
  childProcess.exec(`start http://${hostname}:${port}/`);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant