使用node.js开发博客_使用node开发博客_风里有诗句哈的博客-程序员秘密

技术标签: node.js  

ECMAScript是语法规范

nodejs = ECMAScript + nodejsAPI,可完成服务端的任何操作

js = ECMAScript + WebAPI

common.js是nodejs的模块化规范

使用方法

a.js中写入

function add(a, b) {
  return a + b;
}

module.exports = add;

b.js中写入 

var add = require("./a");
var sum = add(10, 20);
console.log(sum);

在终端执行 node b.js 输出30

导出多个模块

a.js中写入

function add(a, b) {
  return a + b;
}
function mul(a, b) {
  return a * b;
}

module.exports = { add, mul };

b.js中导出模块

var { add, mul } = require("./a");

上面代码相当于

var ops = require("./a");
var add = ops.add;
var mul = ops.mul;

注意导出模块的名字必须与导入的模块名字相同

导入其他插件

初始化npm环境

npm init -y

安装lodash

npm i lodash

导入方式相同

var _ = require("lodash");

开发接口(不用任何框架)

nodejs是如何处理http请求

http请求概述

1.客户端DNS解析,建立TCP连接,发送http请求

2.server端接收http请求,处理,并返回

3.客户端接收到返回的数据,处理数据(如渲染页面,执行js) 

注:

DNS解析:我们访问的网址如百度,是一个域名,这个域名通过DNS解析为对应的一个ip地址,客户端找到IP地址后会进行TCP连接

nodejs处理路由

var http = require("http");
var queryString = require("querystring");

var server = http.createServer((req, res) => {
  var url = req.url;
  var path = url.split("?")[0];
  req.query = queryString.parse(url.split("?")[1]);
});

nodejs处理get请求

var http = require("http");
var queryString = require("querystring");

var server = http.createServer((req, res) => {
  var method = req.method;
  console.log(method);
  var url = req.url;
  req.query = queryString.parse(url.split("?")[1]);
  res.end(JSON.stringify(req.query));
});

server.listen(8080, function() {
  console.log("listening on 8080");
});

nodejs处理post请求 

使用postman插件,百度搜postman chrome crx 下载 或直接下载postman app

var http = require("http");
var queryString = require("querystring");

var server = http.createServer((req, res) => {
  if (req.method === "POST") {
    console.log("content-type", req.headers["content-type"]);
  }
  var postData = "";
  res.on("data", function(chunk) {
    postData += chunk.toString();
  });
  res.on("end", function() {
    console.log(postData);
    res.end(JSON.stringify(postData));
  });
});

server.listen(8080, function() {
  console.log("listening on 8080");
});

nodejs处理返回响应的格式

// 设置返回的格式为json
res.setHeader('Content-type','application/json')

搭建开发环境

使用nodeMon监测文件变化,自动重启node

使用cross-env设置环境变量,兼容mac linux和windows

开发接口(暂不连接数据库,暂不考虑登录)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Vansal/article/details/102157487

智能推荐

ScrollViewer滚动条控件添加_c# scrollviewer 添加组件_sfeavh的博客-程序员秘密

ScrollViewer它可以添加一个可以上下滚动的区域,可以在整个区域中,也可以是一小块地方。简单使用1、直接使用<ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto"> <Image Source="Assets/Financial.png"...

Weka连接mysql数据库_weka怎么连接mysql_m0_37435073的博客-程序员秘密

Weka连接mysql数据库把jdbc驱动放到weka安装目录下的lib下。 此时已经可以正常连接数据库,并查询数据。 你以为这就完了?不,点击ok,你会发现,又出错了。 解决方法:https://blog.csdn.net/weixin_37775770/article/details/70314749修改DatabaseUtils.props,打开一下注释,并增加INT=5。 然后就可以成功连...

Mac | Mendeley文献管理工具安装使用三步骤_mendeley mac_Sany 何灿的博客-程序员秘密

步骤一:从官网下载Mendeley:https://www.mendeley.com/reference-management/reference-manager步骤二:下载Word插件:https://www.mendeley.com/reference-management/mendeley-cite步骤三:文献格式调整,从写英文文章用的文献的默认引用格式改为写中文文章的默认引用方式:https://blog.csdn.net/yitian_z/article/details/104050142.

PHP(PHP-FPM)手动编译安装_php-fpm安装_cdai的博客-程序员秘密

1安装PHP1.1下载解压wget http://museum.php.net/php5/php-5.3.5.tar.gztarxzvf php-5.3.5.tar.gzcdphp-5.3.51.2配置生成Make         ./configure--prefix=/usr/local/php --with-mysql=../mysql-5.1.54-li

Linux学习笔记_violet~evergarden的博客-程序员秘密

ls - la ls == list 目录 ls -a隐藏文件 ls -l 长格式显示 ,显示更多 ls -h 显示字节换算后 ,ls -ld /etc 显示当前目录信息 ls -i 查看i节点标识mkdir /tmp/wz/1 /tmp/wz/2 cd … 空格点点 cd /tmp/wz rmdir 扩:mkdir 可以/wz /wz/1 ,不能没有先创建wz 就直接创/wz/1pwd printworking.

【Lua语言学习04】Lua变量,访问局部变量比全局变量更快_lua访问局部变量_文武先生的博客-程序员秘密

Lua变量有三种类型:全局,局部,表中的域Lua变量不加local 都是全局变量例如:--test.lua文件脚本a = 5 --全局变量local b = 5 --局部变量function joke() c = 5 --全局变量 local d = 6 --局部变量endjoke()print(c,d) --5 nildo...

随便推点

hexo yilia主题鼠标点击爱心效果设置_hexo底部红爱心_捡起一束光的博客-程序员秘密

鼠标点击爱心效果在themes\yilia\source文件夹下,新建click.js文件,代码:! function(e, t, a) { function n() { c(".heart{width: 10px;height: 10px;position: fixed;background: #f00;transform: rotate(45deg);-webki...

windows下常用小工具分享_11xiaoxian的博客-程序员秘密

最近对电脑上的常用的小工具做了总结,在此推荐给广大网友,好东西大家共同使用。百度网盘地址:https://pan.baidu.com/s/1UZhB7JnFq-LAuSIbeFvKMQ提取码:yrka压缩包里包含的软件:其中推荐几款最好用的工具:1、速盘(speedpan),速盘是一款“对抗”百度网盘的软件,刚开始我用的时候下载完全不收费。最近一段时间,大概进了201...

Spring Boot自动配置原理、实战_Java_2017_csdn的博客-程序员秘密

Spring Boot自动配置原理、实战原创: javastack Java技术栈 Java技术栈微信号 javastack功能介绍 专注分享Java技术干货,包括多线程、JVM、Spring Boot、Spring Cloud、Intellij IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。2017-...

Android开发AlertDialog使用方法_sunmk163的博客-程序员秘密

转自:http: // www.2cto.com/kf/201205/131876.htmlAlertDialog的构造方法全部是Protected的,所以不能直接通过new一个AlertDialog来创建出一个AlertDialog。要创建一个AlertDialog,就要用到AlertDialog.Builder中的create()方法。使用AlertDialog.Build

VMWare虚拟机优化十招_freeazy的博客-程序员秘密

转自 http://virtual.51cto.com/art/201003/185698.htm VMWare虚拟机优化十招10、安装VMware Tools在Windows或Linux虚拟机中安装完VMware Tools 后将会在很大程度上提升虚拟机的性能。首先,我们可以使用SVGA分辨率而不仅仅是标准VGA,这显然增强了虚拟机的图形及...

天牛须算法_碧龗的博客-程序员秘密

一、介绍天牛须算法(Beetle Antennae search algorithm, BAS)是由 Jiang 等人于2017年提出的一种智能优化算法,该算法模拟了天牛寻食物时的搜索方式,是一种单体搜索算法,该算法原理简单、参数少、计算量少,在处理低维优化目标时具有优势。天牛在觅食过程中,会被食物的气味吸引。天牛通过其两只触角对空气中的食物气味进行感知,由于食物距离两只触角的距离远近不同,因此触角所感知的气味浓度也有所差异。当食物处于天牛左侧时,左侧触角感知的气味浓度强于右侧触角感知的气味浓度,因此天

推荐文章

热门文章

相关标签