美文网首页
node.js 入门(低阶版)

node.js 入门(低阶版)

作者: Gantowell | 来源:发表于2018-08-29 11:34 被阅读0次

前言:


一、什么是node.js?

Node.js 是建立在chrome的JavaScript的web应用框架

二、node.js有什么优点?

比较一下node.js和传统web服务器的request-response流程:

PHP&ASP:
  • 发送请求
  • 等待服务端解析请求
  • 返回响应
  • 准备下一个请求
Node.js
  • 发送请求
  • 准备下一个请求
  • 当服务端处理好请求,返回响应
作为一个单线程,非阻塞,异步编程的框架,它高度可扩展,比传统服务器请求的服务数量大得多。
三、node.js中basic knowledge
  • npm
    节点程序包管理器,类似python的pip,可以通过该指令安装所需包
    npm install package
    相应的卸载命令
    npm uninstall package
    通过该指令安装的包会在当前目录下生成一个node_modules文件夹,所有安装的包都在该目录下

  • REPL
    一个类似shell的东西,可以运行 读取,计算,打印,循环 的环境

  • Package.json
    存在于任何Node应用程序/模块的根目录,并应用于定义一个包的属性,具有下列属性:name/ version/ description/ homepage/ author/ contributors/keywords

dependencies: 依赖列表,支持该包所需的包全部列在这
repository: 包的储存类型和URL
main: 包的入口点


从简单入手:


假设你有一台主机,并且已经成功按照https://nodejs.org完成了node的安装
你在某目录下新建了一个文件夹,然后又在该文件夹新建了一个js文件,输入了以下代码

var http = require('http');

http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/html'});
    res.end('Hello World!');
}).listen(8080);
  • var http = require('http')
    这个第一行的var http = require('http')类似于python的import numpy as np, 通过require来导入所需包,并且赋给变量http,之后通过http来使用包内的相关函数,这一刻我又想起了被np支配的恐惧。

  • http.createServer(function (req, res) {})
    通过http的函数createServer函数来创建一个HTTP服务器,req,res顾名思义request and response,res.writeHead(200, {'Content-Type': 'text/html'}):当开启一个服务器后,这个服务器干了什么呢,res等于response,服务器给了反应,它写了个header,然后给了个res.end('Hello World!');,相当于写了个hello world给你,就结束了。listen(8080);意思是听8080端口,可以任意使用现在没在用的端口。

好了,接下来就是运行了,假设你的js文件名为 a.js, 打开终端输入node a.js, 你就能看到终端显示....不,终端什么也没显示,这个时候你打开浏览器,输入localhost:8080,就能看到页面上写着 Hello World!,你在该js里文件添加任何console.log()语句,都能在控制台看到输出。我们将上述js代码添加一句
console.log("HTTP Server now is listening on port 8080");
你就能看到终端提示一模一样的话了。


包包包:

了解python,或者c++的人都知道,一个main函数写不了什么东西,我们把需要的部分都写在其他文件里,然后主函数需要什么我们就把该文件引用进来就可以使用。

A.py
def functionA():
  return 10

B.py
from A import functionA
print(functionA())

>>>python B.py
>>>10

在B中导入A,便可以使用A的函数了
同理在node.js中,我们也可以把写好的js文件封装成一个包,在其他文件中require这个包。
还是刚才那个工程,我们创建一个新的js文件,就叫它b.js,我们在文件里写入

exports.myDateTime = function () {
    return Date();
};

然后在a.js中require这个文件

var http = require('http');
var dt = require('./b');

http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/html'});
    res.write("The date and time are currently: " + dt.myDateTime());
    res.end();
}).listen(8080);

再运行a.js文件,便能看见页面显示时间,这个时间就是从b.js获取到的。

相关文章

网友评论

      本文标题:node.js 入门(低阶版)

      本文链接:https://www.haomeiwen.com/subject/indhwftx.html