学习Nodejs

学习一门新技术时,我们要知道它是什么和有什么作用。

学习目标:

安装Node.js
使用npm安装组件
使用webpack打包js

一.什么是Nodejs?

 概述: Node.js 不是一门新的语言,是一个JavaScript运行环境, 简单的说 Node.js 就是运行在服务端的 JavaScript。

Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。
 

二.Nodejs有哪些内容及作用?

1.安装Node.js(略)//对应系统版本,傻瓜式安装

地址:http://nodejs.cn/download/

 

安装成功后cmd命令查看版本信息:node -v

 

2.快速入门。简单demo样式  //创建一个demo1.js文件

var a=1;
var b=2;
console.log(a+b);

 

 

 在IDEA中输入命令:node demo1.js   可看到输出。


 

 

//demo2.js使用函数 ,输入命令测试: node demo2.js
var c=add(100,200);
console.log(c);
function add(a,b) {
    return a+b;
}

 

 

 

2.1 模块化编程:

每个文件就是一个模块,有自己的作用域。在一个文件里定义的变量、函数、类、都是私有的,对其他文件不可见。

 

//demo1.js 模块
/*每个模块内部,module变量代表当前模块。这个变量是一个对象,它的exports属性(即module.exports)是对外
的接口。加载某个模块,其实是加载该模块的module.exports属性。*/
exports.add=function (a,b) {
    return a+b;
}
//创建demo2.js   来引入demo1.js模块
var demo = require('./demo1');
console.log(demo.add(100, 200));

//测试 node demo2.js

 


 

2.2 创建Nodejs web服务器

  //demo3.js

/**目标**:引入http模块监听8888端口实现输出字符*/
//引入node.js内置的http模块
var http=require("http");
//创建并监听web服务器
http.createServer(function (request, response) {
    //发送http头部
    //参数1:响应状态码,200表示成功
    //参数2:响应头部信息,Content-Type内容类型:纯文本
    response.writeHead(200, {"Content-Type": "text/plain"});

    //发送响应数据
    response.end("Hello World \n");
}).listen(8888);
console.log("服务器运行在 http://127.0.0.1:8888 ");

测试: node  demo3.js  访问

终止运行:ctrl+c

 

理解服务端渲染

//创建demo5.js,将上边的例子写成循环的形式
var http=require("http");
//创建并监听web服务器
http.createServer(function (request, response) {
    //发送http头部
    //参数1:响应状态码,200表示成功
    //参数2:响应头部信息,Content-Type内容类型:纯文本
    response.writeHead(200, {"Content-Type": "text/plain"});
    for(var i=0;i<10;i++){
        response.write('Hello World\n');
    }
    //发送响应数据
    response.end('');
}).listen(8888);
console.log("服务器运行在 http://127.0.0.1:8888 ");
//检查源代码发现,只有10条数据。说明是在服务端完成的,非浏览器(客户端)完成

 

 

2.3 处理Nodejs web 请求参数

//demo6.js

 

// **目标**:引入http和url模块创建web容器并使用url解析请求路径中参数且输出
//需求:http://127.0.0.1:8888?id=123&name=mukk 获取到请求路径中参数及值并输出
/*
实现步骤:
1. 创建web服务器;
2. 引入url模块;
3. 利用url解析请求地址中的参数和值并输出
4. 启动测试;*/
//引入node.js内置http模块
var http = require("http");
var url = require("url");

//创建并监听web服务器
http.createServer(function (request, response) {
    response.writeHead(200, {"Content-Type": "text/plain"});

    //解析请求地址
    //参数1:请求地址
    //参数2:true的话使用query解析参数到一个对象,默认false
    var params = url.parse(request.url, true).query;
    for(var key in params){
        response.write( key + " = " + params[key]);
        response.write("\n");
    }

    //发送响应数据
    response.end("");
}).listen(8888);
console.log("服务器运行在 http://127.0.0.1:8888 ");

测试:node demo6.js

浏览器输入:http://127.0.0.1:8888/?id=123&name=mukk

 

 三、包资源管理器 NPM

3.1 什么是NPM

npm是一个node.js的管理和分发工具,可以根据配置package.json下载js库。

本地安装:将下载的模块安装到当前目录(项目);

全局安装:将下载的模块安装到全局的目录( npm root -g 

node.js已经了npm工具,命令输入npm -v 查看版本

在该工程目录下cmd或者控制台输入 npm init   //会生成package.json配置文件,后可修改

本地安装模块:在项目目录下,管理员身份打开命令输入npm  install express    // 此时项目模块下生成node_modules这个文件夹,用于存放js库,相当与maven仓库

全局安装:查看目录路径:  当前目录下cmd   输入npm root -g      //这个命令输出的目录就是全局安装的文件目录路径

比如全局安装 jquery,输入命令 npm install jquery -g      //全局目录下会存放jquery目录

 

3.1.1切换NPM镜像可以加快下载速度:需要安装nrm 。

npm install nrm -g  //全局安装

nrm ls命令查看仓库列表  

 

或者使用cnpm来下载模块  需要安装cnpm.  

 #如果不使用nrm切换,可以在安装cnpm的时候指定镜像仓库

命令:npminstall-gcnpm--registry=https://registry.npm.taobao.org

 查看版本:cnpm -v

使用cnpm下载模块:cnpm install   jquery -g //下载 jquery模块

一般情况我们用npm即可。

 


 

 

 


 

 四、WebPack

1.什么是WebPack

Webpack 是一个前端资源加载/打包工具。
webpack作用:可以将多个静态资源js、css等打包成一个js文件。
 
安装命令:

npm install webpack -g

npm install webpack-cli -g

 

 

 

 

 其他参考资料 可以看下这个 https://cloud.tencent.com/developer/information/node.js%E7%9A%84%E6%84%8F%E4%B9%89

posted @ 2019-12-26 21:13  Mrmukk  阅读(287)  评论(0编辑  收藏  举报