今天开始学习 nodeJS 的征途,在由于同时也在学习 AngularJS 的原因,而且 AngularJS 现在是我学习新框架的主要兴趣点和主体,并且 AngularJS 现在的掌握进入了中级阶段,所以不想做中途停顿把主要点转移到 nodeJS 上,因此 nodeJS 的学习进度相对而言会慢点,但会尽量坚持每天学一章节。
刚接触 nodeJS 给我的第一感觉是,nodeJS 确实如众所言的 nodeJS 它不仅仅 在实现一个应用,同时还实现了整个 HTTP 服务器。事实上,我们的 Web 应用以及对应的 Web 服务器基本上是一样的。在环境配置方面,相比 PHP 的服务器环境它减少了很多的工作,特别是 windows 系统下它就和普通软件的安装方式是一样的。只要你的 windows 环境中安装 git Bash 就可直接从 nodeJS 的官网下载 msi 安装包进行安装了,对于 linux 来说因它的发行多样所以安装的方式也大不相同,ubuntu 和 mac 这两个版本相对来说会简单些,具体的安装过程就不写了网络上都有。
在安装完 nodejs 之后要记得将 nodejs 的安装目录路径追加到【系统变量】“path” 的后面。例如:
C:\Program Files\nodejs
在系统变量中添加一个名为“NODE_PATH”的 key,它的值为 nodejs 的安装目录中 node_modules 的路径,例如
C:\Program Files\nodejs\node_modules
通过命令,验证是否安装成:
node -v npm -v
如在执行“npm -v”时出现长时间的停留,鼠标在不停的闪烁的情况可采取删除“C:\Users\用户名”目录下的“.npmrc”便可解决问题。
如果正常显示版本号,即安装成功。
现在进入正题,下面是应用创建的示范代码并加上了注释,
// 引入 require 模块 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(1337, '127.0.0.1'); // 终端打印如下信息 console.log('Server running at http://127.0.0.1:1337/');
将其保存为 server.js 文件,然后进入命令提示符,然后用 cd 命令进入 server.js 所在的目录,执行以下命令运行该应用服务。
node server.js
按回车后,如有出现 erver running at http://127.0.0.1:1337/ 则表明运行成功。
然后在浏览器地址输入:就可浏览页面的输出如下图。
这里的代码需要注意点有:
1、listen 方法设置这里的第2个参数值:’127.0.0.1’,这个参数值可填写项,
如果填写上了,那么这个应用服务只认 ‘127.0.0.1’,内网的IP地址就不认了,输入后是不能访问的。
如果不填写,本地IP和内网IP都可访问
2、JS 文件内容修改后,是要重新启动应用服务器,不然浏览器还停留在之前版本浏览,服务运行后退出方式是按 ctrl + c 快捷键,如果你的觉得每次更新 JS 文件都要重启服务器软件才能访问新的结果比较的麻烦,可以尝试安装 nodemon , 据说这个可以监控 JS 文件是否被修改过,
安装命令(windows 和 linux 能通用)如下:
npm install -g nodemon
或者是(这个在 linux 下使用的)
npm install nodemon -g //install it
用 nodemom 运行的命令
nodemon server.js
GITHUB:https://github.com/366065186/nodejs-demo/tree/master/create_app
升华篇:
http 接收 get 或 post 请求参数
2021-07-24 记:
解决跨域请求的需求
const http = require(“http”);
http.createServer((req,res)=>{
//设置返回格式 JSON, 解决跨域问题
// res.setHeader('Content-type', 'application/json');
res.setHeader("Access-Control-Allow-Origin", "*");
res.setHeader("Access-Control-Allow-Headers", "Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild");
res.setHeader("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
res.setHeader("X-Powered-By","3.2.1");
res.setHeader("Content-Type", "application/json;charset=utf-8");
//自己的逻辑代码
})
转载请注明:隨習筆記 » nodeJS 应用服务器创建的示范