Nodejs入门简介
Posted 松间明月447
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nodejs入门简介相关的知识,希望对你有一定的参考价值。
Node.js
1. 什么是Node.js
Node.js就是运行在服务端的javascript
是一个基于Chrome JavaScript运行时建立的一个平台
Node.js 是一个事件驱动I/O服务端JavaScript环境,基于Google的v8引擎,V8引擎执行JavaScript的速度非常快,性能而非常好
2. Node.js 安装
2.1 windows安装
直接下载然后选择安装目录安装即可
node -v #显示安装版本
2.2 Linux安装
# 1.下载 二进制文件
wget https://npm.taobao.org/mirrors/node/v14.3.0/node-v14.3.0-linux-x64.tar.xz
tar xf node-v14.3.0-linux-x64
mv node-v14.3.0-linux-x64 /usr/local/nodejs
# 2. 配置环境变量
vim /etc/profile
export PATH=$PATH:/usr/local/nodejs
source /etc/profile #立即生效
# 3. 查看安装结构
node -v #安装成功
v14.3.0
3. 入门
3.1 控制台输出
> vim demo1.js
------------------
var a=1;
var b=2;
console.log(a+b);
------------------
> node demo1.js
3
3.2 使用函数
vim demo2.js
-----------------
var c=add(100,200);
console.log(c);
function add(a,b){
return a+b;
}
------------------
> node demo2.js
300
3.3 模块化编程
创建文本demo3_1.js
exports.add = function(a,b) {
return a+b;
}
创建文本demo3_2.js
var demo = require(‘./demo3_1‘);
console.log(demo.add(400,600));
node demo3_2.js
3.4 创建web服务器
创建文件
> vim demo3.js
var http = require(‘http‘);
// http为node内置的web模块
http.createServer(function (request, response) {
// 发送 HTTP 头部
// HTTP 状态值: 200 : OK
// 内容类型: text/plain
response.writeHead(200, {‘Content‐Type‘: ‘text/plain‘});
// 发送响应数据 "Hello World"
response.end(‘Hello World
‘);
}).listen(8888);
// 终端打印如下信息
console.log(‘Server running at http://127.0.0.1:8888/‘);
运行
> node demo4.js
访问
> curl http://localhost:8888
Hello World
3.5 接收参数
var http = require(‘http‘);
var url = require(‘url‘);
http.createServer(function(request, response){
response.writeHead(200, {‘Content‐Type‘: ‘text/plain‘});
// 解析 url 参数
var params = url.parse(request.url, true).query;
response.write("name:" + params.name);
response.write("
");
response.end();
}).listen(8888);
console.log(‘Server running at http://127.0.0.1:8888/‘);
4. 包资源管理器 NPM
4.1 什么是NPM
npm
全称Node Package Manager
,它是node包管理器和分发工具,其实可以把NPM理解成前端的Maven
通过npm可以很方便的下载js库,管理前端程序,最近版本的node.js已经集成了npm工具
> npm -v # 查看npm的版本
6.14.5
4.2 NPM 命令
1. 初始化工程 init
> mkdir npmlean & cd npmlean
> npm init
package name: 项目名称
version: 版本号
description: 对项目的描述
entry point: 项目的入口文件(一般你要用那个js文件作为node服务,就填写那个文件)
test command: 项目启动的时候要用什么命令来执行脚本文件(默认为node app.js)
git repository: 如果你要将项目上传到git中的话,那么就需要填写git的仓库地址
keywirds: 项目关键字
author: 作者的名字
license: 发行项目需要的证书
# 最后会生成一个package.json文件,这个是包配置文件,相当于java里面的pom.xml
2. 本地安装 npm install
install 命令用于安装某个模块,如果想要安装express(node的web框架)输入:
npm install express
项目的目录下出现node_modules文件夹和package-lock.json
-
node_modules: 用于存放下载的js库(相当于java的maven仓库)
-
package-lock.json:是当 node_modules 或 package.json 发生变化时自动生成的文件。
这个文件主要功能是确定当前安装的包的依赖,以便后续重新安装的时候生成相同的依
赖,而忽略项目开发过程中有些依赖已经发生的更新。
关于版本号
指定版本:比如1.2.2,遵循“大版本.次要版本.小版本”的格式规定,安装时只安装指定版
本。
波浪号(tilde)+指定版本:比如~1.2.2,表示安装1.2.x的最新版本(不低于1.2.2),但
是不安装1.3.x,也就是说安装时不改变大版本号和次要版本号。
插入号(caret)+指定版本:比如?1.2.2,表示安装1.x.x的最新版本(不低于1.2.2),但
是不安装2.x.x,也就是说安装时不改变大版本号。需要注意的是,如果大版本号为0,则插
入号的行为与波浪号相同,这是因为此时处于开发阶段,即使是次要版本号变动,也可能带来
程序的不兼容。
latest:安装最新版本。
3. 全局安装 npm install * -g
刚才我们使用的是本地安装,会将js库安装在当前目录,而使用全局安装会将库安装到你
的全局目录下。
# 如果你不知道你的全局目录在哪里,执行命令
npm root ‐g
# 比如我们全局安装jquery, 输入以下命令
npm install jquery -g
4. 批量下载 npm install
我们从网上下载某些代码,发现只有package.json,没有node_modules文件夹,这时我
们需要通过命令重新下载这些js库
进入目录(package.json所在目录) 输入命令
npm install
此时npm会自动下载package.json中依赖的js库
5. 淘宝NPM镜像 cnpm
有时我们使用npm下载资源会很慢,所以我们可以安装一个cnmp(淘宝镜像)来加快下载速度。
输入命令,进行全局安装淘宝镜像。
npm install -g cnpm --registry=https://registry.npm.taobao.org
查看cnpm版本
cnpm -v
使用cnpm
cnpm install 需要下载的js库
5. 运行工程 run
如果我们想运行某个工程,则使用run命令
如果package.json中定义的脚本如下
- dev是开发阶段测试运行
- build是构建编译工程
- lint 是运行js代码检测
# package.josn 配置启动的命令
"scripts": {
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
"start": "npm run dev",
"build": "node build/build.js",
"build:report": "npm_config_report=true node build/build.js",
"lint": "eslint --ext .js,.vue src",
"test": "npm run lint"
},
运行程序
npm run dev
5. 编译 build
npm run build
生成后我们会发现只有个静态页面,和一个static文件夹
这种工程我们称之为单页Web应用(single page web application,SPA),就是只有一
张Web页面的应用,是加载单个html 页面并在用户与应用程序交互时动态更新该页面
的Web应用程序。
以上是关于Nodejs入门简介的主要内容,如果未能解决你的问题,请参考以下文章
使用 NodeJS 和 JSDOM/jQuery 从代码片段构建 PHP 页面
javascript 用于在节点#nodejs #javascript内设置react app的代码片段
Nodejs学习笔记--- 与MongoDB的交互(mongodb/node-mongodb-native)MongoDB入门