码迷,mamicode.com
首页 > Web开发 > 详细

Nodejs入门简介

时间:2020-05-23 13:34:43      阅读:54      评论:0      收藏:0      [点我收藏+]

标签:mirror   json   list   自动   root   格式   js代码   二进制文件   ogre   

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.js下载地址

直接下载然后选择安装目录安装即可

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\n‘);
}).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("\n");
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应用程序。

下一节Webpack

Nodejs入门简介

标签:mirror   json   list   自动   root   格式   js代码   二进制文件   ogre   

原文地址:https://www.cnblogs.com/smallwolf/p/12942000.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!