nodeJS入门

什么是NodeJS

 

JS是脚本语言,脚本语言都需要一个解析器才能运行。对于写在HTML页面里的JS,浏览器充当了解析器的角色。而对于需要独立运行的JS,NodeJS就是一个解析器。

每一种解析器都是一个运行环境,不但允许JS定义各种数据结构,进行各种计算,还允许JS使用运行环境提供的内置对象和方法做一些事情。例如运行在浏览器中的JS的用途是操作DOM,浏览器就提供了document之类的内置对象。而运行在NodeJS中的JS的用途是操作磁盘文件或搭建HTTP服务器,NodeJS就相应提供了fs、http、websocket、rest、mysql等内置对象。

 

安装NodeJS

从官网下载安装包https://nodejs.org/ 安装包是msi可以直接安装。

在Windows上安装时务必选择全部组件,包括勾选Add to Path。

安装完成后,在Windows环境下,请打开命令提示符,然后输入node -v,如果安装正常,你应该看到v12.16.1这样的输出:

E:\visual-space\template>node -v 

v12.16.1

如何运行js代码

在命令行输入node,进入node交互模式

node > console.log('Hello World!'); 

Hello World!

如果要运行一大段代码的话,可以先写一个JS文件再运行。

function hello() {

    console.log('Hello World!'); 

} 

hello();

 

node hello.js
Hello World!

 

第一个例子,引入 required 模块

require函数用于在当前模块中加载和使用别的模块,传入一个模块名,返回一个模块导出对象。模块名可使用相对路径(以./开头),或者是绝对路径(以/或C:之类的盘符开头)。另外,模块名中的.js扩展名可以省略。以下是一个例子。

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

 

从浏览器访问

打开浏览器访问 http://127.0.0.1:8888/,你会看到一个写着 "Hello World"的网页。

 

 

npm

npm是什么东东?npm其实是Node.js的包管理工具(package manager)。

NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:

  • 允许用户从NPM服务器下载别人编写的第三方包到本地使用。
  • 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
  • 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。

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

 

初始化npm

npm init

在工程目录执行初始化命令,会生成package.json文件,里面有本项目的描述和依赖。

{
  "name": "template",
  "version": "1.0.0",
  "main": "app.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "description": "",
  "dependencies": {
    "nunjucks": "2.4.2",
    "ws": "1.1.1"
  }
}

如需增加依赖,修改package.json添加dependencies即可

然后执行npm install就会把依赖下载下来,保存在工程node_modules目录下

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章