node.js入门基础
作者:Seiya
时间:2019年05月28日
前言
Node.js
是一个能够在服务器端运行 JavaScript
的开放源代码、跨平台 JavaScript
运行环境。
Node.js
采用Google开发的V8运行代码,使用事件驱动、非阻塞和异步输入输出模型等技术来提高性能,可优化应用程序的传输量和规模。这些技术通常用于数据密集的即时应用程序。
Node.js
大部分基本模块都用JavaScript语言编写。在 Node.js
出现之前,JavaScript
通常作为客户端程序设计语言使用,以 JavaScript
写出的程序常在用户的浏览器上运行。Node.js
的出现使JavaScript也能用于服务端编程。
创建第一个应用
步骤一:引入 required 模块
我们使用 require 指令来载入 http 模块,并将实例化的 HTTP 赋值给变量 http,实例如下:
const http = require("http");
步骤二:创建服务器
在项目的根目录下创建一个叫 js 的文件,并写入以下代码:
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}/`);
});
步骤三:启动node服务
node index.js
Server running at http://127.0.0.1:3000/
接下来,打开浏览器访问 http://127.0.0.1:3000/。
npm使用介绍
npm 是随同 node.js 一起安装的包管理工具,能解决 node.js 代码部署上的很多问题,常见的使用场景有以下几种:
允许用户从NPM服务器下载别人编写的第三方包到本地使用
允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用
允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用
使用 npm 命令安装模块
npm 安装 Node.js 模块语法格式如下:
$ npm install <Module Name>
全局安装与本地安装
全局安装
全局安装时,会将安装包放在 /usr/local 下或者你 node 的安装目录下,你可以直接在命令行里进行使用。
$ npm install express -g # 全局安装
本地安装
本地安装时,会将安装包放在项目 ./node_modules 下(运行 npm 命令时所在的目录),如果没有 node_modules 目录,会在当前执行 npm 命令的目录下生成 node_modules 目录,你可以通过 require() 来引入本地安装的包。
$ npm install express # 本地安装
提示:
可以使用以下命令来查看所有全局安装的模块: $ npm ls -g
使用 package.json
package.json 位于模块的目录下,用于定义包的属性。
- Package.json属性说明
name - 包名
version - 包的版本号
description - 包的描述
homepage - 包的官网 url
author - 包的作者姓名
contributors - 包的其他贡献者姓名
dependencies - 依赖包列表。如果依赖包没有安装,npm 会自动将依赖包安装在 node_module 目录下
repository - 包代码存放的地方的类型,可以是 git 或 svn,git 可在 Github 上
main - main 字段是一个模块ID,它是一个指向你程序的主要项目。就是说,如果你包的名字叫
express,然后用户安装它,然后require("express")
keywords - 关键字
卸载模块
我们可以使用以下命令来卸载 Node.js 模块:
$ npm uninstall express
更新模块
我们可以使用以下命令更新模块:
$ npm update express
搜索模块
使用以下命令来搜索模块:
$ npm search express
创建模块
创建模块,package.json 文件是必不可少的。我们可以使用 NPM 生成 package.json 文件,生成的文件包含了基本的结果
$ npm init
name: (node_modules) # 模块名
version: (1.0.0) # 版本号
description: Node.js测试模块 # 描述
entry point: (index.js) # 入口文件
test command: make test
git repository: https://github.com/****.git # Github 地址
keywords:
author:
license: (ISC)
About to write to ……/node_modules/package.json: # 生成地址
以上的信息,你需要根据你自己的情况输入。在最后输入 "yes" 后会生成 package.json 文件。 接下来我们可以使用以下命令在 npm 资源库中注册用户(使用邮箱注册):
$ npm adduser
Username:
Password:
Email: (this IS public)
接下来我们就用以下命令来发布模块:
$ npm publish
这样,你就可以跟其他模块一样使用 npm 来安装。
版本号
语义版本号分为X.Y.Z三位,分别代表主版本号、次版本号和补丁版本号。当代码变更时,版本号按以下原则更新:
如果只是修复bug,需要更新Z位。
如果是新增了功能,但是向下兼容,需要更新Y位。
如果有大变动,向下不兼容,需要更新X位。
使用淘宝 NPM 镜像
$ npm install -g cnpm --registry=https://registry.npm.taobao.org
这样就可以使用 cnpm 命令来安装模块了:
$ cnpm install [name]