一步步精通NodeJs的简单实例
一步一步完成nodejs+express+mysql的简单实例开发
1、使用express创建简单web服务器
项目文件下安装express,这个不多说,很简单,直接在项目目录下运行
npm install express
在项目目录下创建app.js文件,代码如下
var express = require('express); //引入express模块
var app = express(); //创建express的实例
app.get('/', function(req, res){
res.send('Hello,myServer'); //服务器响应请求
});
app.listen(3000,function(){ //监听3000端口
console.log("Server running at 3000 port");
});
项目目录下运行
node app.js
可以看到结果
打开浏览器访问:http://localhost:3000/
2、添加数据库,连接到数据库并在console中输出
此处参考菜鸟教程:菜鸟教程
利用菜鸟教程中的示例数据库,导入到本地数据库连接中,如图
对app.js中的代码进行修改
var express = require('express'); //引入express模块
var mysql = require('mysql'); //引入mysql模块
var app = express(); //创建express的实例
var connection = mysql.createConnection({ //创建mysql实例
host:'127.0.0.1',
port:'3306',
user:'root',
password:'root',
database:'myserver'
});
connection.connect();
var sql = 'SELECT * FROM websites';
connection.query(sql, function (err,result) {
if(err){
console.log('[SELECT ERROR]:',err.message);
}
console.log(result); //数据库查询结果返回到result中
});
app.get('/',function (req,res) {
res.send('Hello,myServer'); ////服务器响应请求
});
connection.end();
app.listen(3000,function () { ////监听3000端口
console.log('Server running at 3000 port');
});
此时再运行node app.js时会发现数据库查询数据返回到console中
web页面上访问仍然没有变化
3、将数据库的数据返回到web页面上,通过访问浏览器能看到数据库返回结果
再对app.js进行修改,然后运行node app.js
var express = require('express'); //引入express模块
var mysql = require('mysql'); //引入mysql模块
var app = express(); //创建express的实例
var connection = mysql.createConnection({ //创建mysql实例
host:'127.0.0.1',
port:'3306',
user:'root',
password:'root',
database:'myserver'
});
connection.connect();
var sql = 'SELECT * FROM websites';
var str = " ";
connection.query(sql, function (err,result) {
if(err){
console.log('[SELECT ERROR]:',err.message);
}
str = JSON.stringify(result);
//数据库查询的数据保存在result中,但浏览器并不能直接读取result中的结果,因此需要用JSON进行解析
//console.log(result); //数据库查询结果返回到result中
console.log(str);
});
app.get('/',function (req,res) {
res.send(str); //服务器响应请求
});
connection.end();
app.listen(3000,function () { ////监听3000端口
console.log('Server running at 3000 port');
});
可以看到console的输出信息,将数据库中RowDataPacket解析成了JSON对象
再次打开浏览器
至此,实际上就已经完成了nodejs+express+mysql的最简单的开发,省去了繁琐的路由,如果想让页面更美观,使用Ext或者CSS去写页面都可以,这里不再赘述。
一步步精通NodeJs的简单实例的更多相关文章
- nodejs的简单爬虫
闲聊 好久没写博客了,前几天小颖在朋友的博客里看到了用nodejs的简单爬虫.所以小颖就自己试着做了个爬博客园数据的demo.嘻嘻...... 小颖最近养了条泰日天,自从养了我家 ...
- java反射机制简单实例
目录 Java反射 简单实例 @(目录) Java反射 Java语言允许通过程序化的方式间接对Class进行操作.Class文件由类装载器装载后,在JVM中将形成一份描述Class结构的元信息对象,通 ...
- vue.js+webpack在一个简单实例中的使用过程demo
这里主要记录vue.js+webpack在一个简单实例中的使用过程 说明:本次搭建基于Win 7平台 Node.js 安装官网提供了支持多种平台的的LTS版本下载,我们根据需要来进行下载安装.对于Wi ...
- Hibernate(二)__简单实例入门
首先我们进一步理解什么是对象关系映射模型? 它将对数据库中数据的处理转化为对对象的处理.如下图所示: 入门简单实例: hiberante 可以用在 j2se 项目,也可以用在 j2ee (web项目中 ...
- 最新 Eclipse IDE下的Spring框架配置及简单实例
前段时间开始着手学习Spring框架,又是买书又是看视频找教程的,可是鲜有介绍如何配置Spring+Eclipse的方法,现在将我的成功经验分享给大家. 本文的一些源代码来源于码农教程:http:// ...
- 修改js confirm alert 提示框文字的简单实例
修改js confirm alert 提示框文字的简单实例: <!DOCTYPE html> <html> <head lang="en"> & ...
- 利用navicat创建存储过程、触发器和使用游标的简单实例
利用navicat创建存储过程.触发器和使用游标的简单实例 标签: navicat存储过程触发器mysql游标 2013-08-03 21:34 15516人阅读 评论(1) 收藏 举报 分类: 数 ...
- 【转】Android Https服务器端和客户端简单实例
转载地址:http://blog.csdn.net/gf771115/article/details/7827233 AndroidHttps服务器端和客户端简单实例 工具介绍 Eclipse3.7 ...
- Centos7的安装、Docker1.12.3的安装,以及Docker Swarm集群的简单实例
目录 [TOC] 1.环境准备 本文中的案例会有四台机器,他们的Host和IP地址如下 c1 -> 10.0.0.31 c2 -> 10.0.0.32 c3 -> 10.0.0. ...
随机推荐
- removing vmware debugger from visual studio
removing vmware debugger from visual studio by Ross on 十月 14, 2010 at 5:30 下午 under Visual Studio | ...
- CCF CSP 201712-2 游戏
题目链接:http://118.190.20.162/view.page?gpid=T67 问题描述 有n个小朋友围成一圈玩游戏,小朋友从1至n编号,2号小朋友坐在1号小朋友的顺时针方向,3号小朋友坐 ...
- openldap完整版本搭建记录
文档信息 目 的:搭建一套完整的OpenLDAP系统,实现账号的统一管理. 1:OpenLDAP服务端的搭建 ...
- 微信小程序真机定位问题技巧
小程序导航 https://wq.xmaht.top 开发者在开发小程序的时候可能会碰到一些这样的问题: 问题1 开发者工具上看效果没问题,但是在真机上测试不行? 问题2 有用户遇到小程序功能无法 ...
- 4.1 基本类型和引用类型的值【JavaScript高级程序设计第三版】
ECMAScript 变量可能包含两种不同数据类型的值:基本类型值和引用类型值.基本类型值指的是简单的数据段,而引用类型值指那些可能由多个值构成的对象. 在将一个值赋给变量时,解析器必须确定这个值是基 ...
- 裸机——wdt
1. 首先晓得看门狗的基本知识 看门狗是带复位功能的定时器,用于在系统跑飞时复位系统. 接下来按照上次的知识对看门狗进行推导 看门狗的关键词是 定时器 复位 定时器 关键是 时间段 中断 时间段 关键 ...
- 009---Django的模型层(1)
ORM 全称:对象--关系--映射 数据表----类 数据行----对象 字 段----属性优势:专注于后端逻辑,不用写复杂的sql语句劣势:会忘掉sql,牺牲了效率 Django连接mysql数据库 ...
- Leetcode 701. 二叉搜索树中的插入操作
题目链接 https://leetcode.com/problems/insert-into-a-binary-search-tree/description/ 题目描述 给定二叉搜索树(BST)的根 ...
- 我理解中的Hadoop HDFS分布式文件系统
一,什么是分布式文件系统,分布式文件系统能干什么 在学习一个文件系统时,首先我先想到的是,学习它能为我们提供什么样的服务,它的价值在哪里,为什么要去学它.以这样的方式去理解它之后在日后的深入学习中才能 ...
- Android 数据库的线程合作
前言:之前琢磨了很多线程相关的东西,一直摸不着头脑,直到学到了数据库,终于发现世界原来如此美好,任何事物都有存在的理由. 1.主线程,我把它比作长江,作为母亲河的长江,想必大家每个人都不会很陌生. 2 ...