Node.js 撸第一个Web应用

使用Node.js 创建Web 应用与使用PHP/Java 语言创建Web应用略有不同。 使用PHP/Java 来编写后台代码时,需要Apache 或者 Nginx 的HTTP 服务器,而接受请求和提供对应的数据和HTML页面是由服务器来做的,根本不需要PHP或者Java 来做处理,而Node.js则大有不同。 Node.js 没有严格的将前端和后台服务器分离,而且前端使用Node.js来编码,后台部分也依然是使用Node.js来编码,也不需要Apache 或者 Nginx 这样的HTTP 服务器。只需要在终端将关键的后台文件启动即可。

创建第一个Web 应用

在我们创建 Node.js 第一个 "Hello, World!" 应用前,让我们先了解下 Node.js 应用是由哪几部分组成的:

  1. 引入 required 模块:我们可以使用 require 指令来载入 Node.js 模块。
  2. 创建服务器:服务器可以监听客户端的请求,类似于 Apache 、Nginx 等 HTTP 服务器。
  3. 接收请求与响应请求 服务器很容易创建,客户端可以使用浏览器或终端发送 HTTP 请求,服务器接收请求后返回响应数据。

学习一门新的语言,肯定少不了要写一个Hello World工程。那我们如何用Node.js来写一个Hello World呢?

1、终端命令学习

首先,我们需要学习一些终端的命令,因为待会的工作都是在终端中执行的。 ** 新建文件夹 ** 使用 mkdir + 文件夹路径,其中最后一个节点是文件夹的名称 ,示例:

mkdir /Users/harvey/Desktop/Study

这个命令,就是在我的桌面创建一个叫Study的文件夹。

** 进入指定的文件夹 ** cd + 文件夹路径,其中文件夹的路径可以找到文件夹,输入cd 后,将文件夹拖进终端,示例:

bogon:~ harvey$ cd /Users/harvey/Desktop/Study
bogon:Study harvey$ 

进入文件夹后,文件夹会显示在用户名称前,比如上面的Study 就是文件夹名称。

另外,返回到上一级目录是:cd ..,如果你进错文件夹了可能会用到。

** 新建一个文件 ** 这个命令,使用vim 命令创建比较简单。 只需要 vim + 文件名,如果文件不存在,则会新创建改文件,如果文件已存在,则打开该文件。

vim server.js

输入完上述命令后是这样的:

此时,是vim 的编辑模式,想要在server.js中写入内容需要进入插入模式。 命令是:a

然后就可以输入想要输入的内容了。 我这里输入的是:

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/');

上面的内容可以复制,粘贴到终端。 ** 退出插入模式 ** 这里有两种方式: 按Esc或者 Ctrl + c都可以退出插入模式。 ** 保存并退出 ** 退出插入模式后,保存并退出是两个命令合并的。 ** 保存 **

:w

** 退出 **

:q

所以,保存并退出是:

:wq

简单步骤: 条条大路通罗马,新建一个文件,然后往文件里添加东西,也可以这样: 首先,执行命令 touch 文件名 例如 touch server.js; 然后,使用编辑器(例如EditPlus、sublime text等)打开上面创建的空白文件。 再然后,添加内容并保存。

2.运行服务端

node server.js

输入上述命令后,终端会有如下提示:

Server running at http://127.0.0.1:8888/

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

到这里,第一个web 应用就完成了。

关于Node.js 的更多内容,可以去看:Node.js 中文教程 而关于Node.js 的所有API,可以去看:官方文档

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏快乐八哥

前后端分离下如何登录

目前大多数Web应用采用前后端分离方式进行开发。所以前端网站或应用都属于SPA(Single Page Application)。如果前端,后台API部署在同域...

2K20
来自专栏linux系统运维

exportfs命令,NFS客户端问题,FTP介绍,使用vsftpd搭建ftp

26780
来自专栏Pythonista

Golang之go 命令用法

(注:实际上,package名在Go语言规范中指代码中“package”后使用的名称,此名称可以与文件夹名不同。默认生成的可执行文件名是文件夹名。)

1.8K20
来自专栏电光石火

python3和python2共存

特别说明,本文是在Windows64位系统下进行的,32位系统请下载相应版本的安装包,安装方法类似。

28360
来自专栏KID的专栏

【腾讯云的1001种玩法】Centos系统文件权限的系统阐述与演示

在linux服务器日常管理中,我们会经常管理查看文件或者文件夹的权限内容以保证服务的正常运行。今天就和大家聊聊文件权限的那些事。

50310
来自专栏技术之路

[个人翻译]Redis 集群教程(上)

   官方原文地址:https://redis.io/topics/cluster-tutorial    水平有限,如果您在阅读过程中发现有翻译的不合理的地...

30390
来自专栏Theo Tsao

Linux网络管理

本文包括: 查看网络接口、配置网络接口、重启网络接口、路由命令 route、主机名称命令 hostname、网络工具

13920
来自专栏進无尽的文章

代码管理| 本地Git仓库和远程仓库的创建及关联

顺便说一下:Github账号创建私人项目的话需要付费,可以在码云上面创建个人私有仓库,是免费的。

3.7K20
来自专栏网站漏洞修补

网站漏洞修补网站文件任意查看漏洞详情与利用

在对网站程序代码的安全检测当中,网站文件任意查看漏洞在整个网站安全报告中属于比较高危的网站漏洞,一般网站里都会含有这种漏洞,尤其平台,商城,交互类的网站较多一些...

16560
来自专栏C/C++基础

GitHub Desktop常见用法

这里记录我使用git的点滴,以需要完成的功能为切入点来讲解需要使用的命令,供日后参考,当然再结合“git命令大全”这类较全面的git命令介绍的文章,会更好的熟悉...

45130

扫码关注云+社区

领取腾讯云代金券