Node.js(一):环境安装及跑通第一个程序

背景:游戏QA一枚,薄弱代码基础,学习NodeJS提升能力。
学习资料:https://www.runoob.com/nodejs/nodejs-tutorial.html
学习过程记录于此。

1、Mac安装NodeJS:

brew install node

由于新版的nodejs已经集成了npm,所以之前npm也一并安装好了。同样可以通过输入 "npm -v" 来测试是否成功安装。

2、第一个NodeJS程序

首先了解Node.js 应用是由哪几部分组成的:
1、引入 required 模块:我们可以使用 require 指令来载入 Node.js 模块。
2、创建服务器:服务器可以监听客户端的请求,类似于 Apache 、Nginx 等 HTTP 服务器。
3、接收请求与响应请求 服务器很容易创建,客户端可以使用浏览器或终端发送 HTTP 请求,服务器接收请求后返回响应数据。

第一个程序:

    var http = require('http');
    http.createServer(function (request, response) {
    // 发送 HTTP 头部
    // HTTP 状态值: 200 : OK
    // 内容类型: text/plain
    response.writeHead(200, {'Content-Type': 'text/plain'});
    // 发送响应数据 "Hello World"
    response.end('Hello World\n');
    }).listen(8888);
    // 终端打印如下信息
    console.log('Server running at http://127.0.0.1:8888/');

执行:

node server.js

注意:不能开代理,不然可能会有以下报错:

Server running at http://127.0.0.1:8888/
events.js:167
      throw er; // Unhandled 'error' event
      ^
Error: listen EADDRINUSE :::8888
    at Server.setupListenHandle [as _listen2] (net.js:1336:14)
    at listenInCluster (net.js:1384:12)
    at Server.listen (net.js:1471:7)
    at Object. (/Users/yangxiaoxuan/server.js:11:4)
    at Module._compile (internal/modules/cjs/loader.js:689:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Function.Module._load (internal/modules/cjs/loader.js:530:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
Emitted 'error' event at:
    at emitErrorNT (net.js:1363:8)
    at process._tickCallback (internal/process/next_tick.js:63:19)
    at Function.Module.runMain (internal/modules/cjs/loader.js:745:11)
    at startup (internal/bootstrap/node.js:266:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:596:3)
yangxiaoxuandeMacBook-Pro:~ yangxiaoxuan$ node server.js
Server running at http://127.0.0.1:8888/

解决方法:关掉代理即可

3、NPM

NPM是包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:
允许用户从NPM服务器下载别人编写的第三方包到本地使用。
允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。

npm install express

可能会报错:

npm WARN saveError ENOENT: no such file or directory, open '/Users/yangxiaoxuan/package.json'
npm WARN enoent ENOENT: no such file or directory, open '/Users/yangxiaoxuan/package.json'
npm WARN yangxiaoxuan No description
npm WARN yangxiaoxuan No repository field.
npm WARN yangxiaoxuan No README data
npm WARN yangxiaoxuan No license field.

原因是:express 4.X 的版本已经不提供之前那样的命令行工具了
解决方法:用以下命令即可安装

sudo npm install -g express-generator

全局安装和本地安装:
本地安装 (npm install ***)
1、将安装包放在 ./node_modules 下(运行 npm 命令时所在的目录),如果没有 node_modules 目录,会在当前执行 npm 命令的目录下生成 node_modules 目录。
2、可以通过 require() 来引入本地安装的包。
全局安装 (npm install *** -g)
1、将安装包放在 /usr/local 下或者你 node 的安装目录。
2、可以直接在命令行里使用
其他常用命令(以express为例子):
npm list express -g:查看全局安装的模块
npm list express:查看某个模块的版本
npm uninstall express:卸载
npm update express:更新
npm search express:搜索
npm init:创建一个模块
npm publish:创建一个模块后发布
3、安装后的模块在这个目录下:node_modules/
具体可以看相应目录下的package.json

你可能感兴趣的:(Node.js(一):环境安装及跑通第一个程序)