刚忙完公司项目,把以前了解的nodejs实践一下:
把需要的包/模块安装上:
1、安装上nodejs 2、安装npm包---**这个非常重要** 3、安装开发模块: mysql---npm install [-g] node-mysql, npn install [-g] mysql express---npm install [-g] express jade---npm install [-g] jade[模板模块] 其他模块根据需求添加吧!
根据了解的nodejs基础,列出需要注意的几点:
1、模块问题:---模块继承
var Dao = function () {
this.className = "Dao";
var mysql = require('mysql');
var pool = mysql.createPool({
host: 'localhost',
user: 'wenshuang3',
password: '13746.com',
database: 'cai',
port: 3306
});
this.pool = pool;//连接池
this.insert = function (params) {
}; //插入
this.update = function (params) {
}; //更新
this.delete = function (params) {
}; //删除
this.select = function (params) {
}; //查询
};
module.exports = new Dao();
==================================
var dao = require('./Dao');
var UserDao = function() {
this.className = "UserDao";
};
UserDao.prototype = dao;
module.exports = new UserDao();
2、router回调问题
var express = require('express');
var router = express.Router();
var userService = require("../serv/service/impl/UserServiceImpl");
/* POST home page. */
router.post('/', function (req, res) {
var name = req.body.name;
var age = req.body.age;
var opt = req.body.type.toString();
console.log(name + "==" + age + "---" + opt);
console.log(typeof opt + "---" + typeof "select" + "==" + (opt == "select" ));
var send_data = {
name: name,
age: age,
callback: function (data) {
res.render('userinfo', data);
}
};
if (opt == "insert") {
console.log("insert...");
userService.insert(send_data);
} else if (opt == "update") {
console.log("update...");
userService.update(send_data);
} else if (opt == "delete") {
console.log("delete...");
userService.delete(send_data);
} else if (opt == "select") {
console.log("select...");
userService.select(send_data);
} else {
console.log("no opt...");
}
});
module.exports = router;
================================================
/**
* Created by wenshuang3 on 2014/9/11.
*/
var userDao = require('../UserDao');
var UserDaoImpl = function () {
this.className = "UserDaoImpl";
};
UserDaoImpl.prototype = userDao;
UserDaoImpl.prototype.insert = function (params) {
params = params || {};
var callback = params.callback;
console.log("UserDaoImpl insert...");
var name = params.name, age = params.age;
var selectSQL = 'insert into User(name,age) values("' + name + '",' + age + ')';
var res_obj = {
title: '用户添加',
name: name,
age: age,
result: [],
status: false
};
this.pool.getConnection(function (err, conn) {
if (err) console.log("POOL ==> " + err);
conn.query(selectSQL, function (err, rows) {
if (err) console.log(err);
console.log("INSERT ==> ");
var responseHTML = "";
conn.release();
res_obj.result = rows;
res_obj.status = true;
callback ? callback(res_obj) : "";
});
});
};
UserDaoImpl.prototype.update = function (params) {
console.log("UserDaoImpl update...");
return true;
};
UserDaoImpl.prototype.delete = function (params) {
console.log("UserDaoImpl delete...");
return true;
};
UserDaoImpl.prototype.select = function (params) {
params = params || {};
console.log("UserDaoImpl select...");
var name = params.name, age = params.age;
var callback = params.callback;
var selectSQL = 'select ' + (params.fields ? params.fields : "*") + ' from User' + (params.where ? params.where : "");
console.log("selectSQL===" + selectSQL);
var res_obj = {
title: '用户查询',
name: name,
age: age,
result: [],
status: false
};
this.pool.getConnection(function (err, conn) {
if (err) console.log("POOL ==> " + err);
conn.query(selectSQL, function (err, rows) {
if (err) console.log(err);
console.log("SELECT ==> ");
for (var i in rows) {
console.log(rows[i]);
}
res_obj.result = rows;
res_obj.status = true;
conn.release();
callback ? callback(res_obj) : "";
});
});
};
module.exports = new UserDaoImpl();
暂时研究到这,在这只是基础研究,肯定有待深入,望文明吐槽、交流!
相关推荐
### Nodjs中文手册知识点概览 #### 一、简介 - **Node.js** 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。它使用事件驱动、非阻塞 I/O 模型,使其轻量又高效,非常适合运行在分布式设备上构建可扩展的网络...
使用nodjs编写的MQTT客户端,实现模拟连续的数据发送(动态随机数据),默认访问的端口为1883,控制台操作
"node-v20.11.0-win-x86.zip"是Node.js的免安装版本,适用于Windows操作系统,x86架构。解压后,用户可以直接运行可执行文件,无需通过传统安装程序安装。 【NPM】:NPM是Node.js的包管理器,与Node.js一起使用,...
本文将详细介绍在 Windows 操作系统下安装 Node.js 的详细步骤。 一、下载 Node.js 1. 首先,访问 Node.js 的官方网站(https://nodejs.org/),这是获取最新稳定版 Node.js 的最可靠途径。 2. 在官网上,你会看到...
"cent6.5安装nodjs-v5.7.0及运行3个应用前端nodejs开发代码" 在本文中,我们将学习如何在CentOS 6.5上安装Node.js v5.7.0,并运行三个前端应用程序。 Node.js安装 Node.js是一个基于JavaScript的服务器端 ...
标题 "ignite-nodjs-challenge-2" 暗示我们正在探讨一个关于Node.js的编程挑战,可能是某个在线课程或编程训练营的一部分。描述中的相同文本表明这可能是一个具体的项目或任务,专注于Node.js技术的某一方面。标签 ...
这是一个基于Node.js、Angular和MongoDB构建的Web应用程序示例,我们将其称为“Nodejs+Angular+Mongodb-Web-Demo”。在这个项目中,你将看到如何整合这三种技术来创建一个功能丰富的交互式Web应用。...
MSI(Microsoft Installer)是Windows操作系统上的一个标准安装包格式,它负责处理软件的安装、升级和卸载过程。用户需要先解压RAR文件,然后运行MSI安装程序来安装Node.js。 在安装Node.js的过程中,用户需要注意...
《Node.js + MongoDB 文章管理系统实现详解》 在IT领域,构建一个文章管理系统是一项常见的实践任务,它能够帮助我们组织和管理大量的文本信息。本文将深入探讨如何利用Node.js和MongoDB这两个强大的开源技术来创建...
咖啡聊天 使用 Node.js、Socket.IO 和 Dust.js 来组织办公室咖啡冲泡 科技 - 服务器端休息 ... 注意:在 Ubuntu 上你需要输入“nodjs”而不是“node” 跑步 mkdir -p public/js/compiled node app.
### 7. 模块封装 在"Nodejs_practice"项目中,你可能会创建自己的模块,通过`exports`或`module.exports`来导出功能,供其他文件使用。例如: ```javascript // util.js exports.readFileAsync = function ...
### 在Centos部署Node.js的步骤详解 #### 一、前言 随着Node.js的广泛应用,越来越多的开发者选择使用Node.js进行Web应用开发。而在实际生产环境中,CentOS作为一款稳定可靠的Linux发行版,常常被用作服务器操作...
1.项目代码功能经验证ok,确保稳定可靠运行。欢迎下载使用! 2.主要针对各个计算机相关专业,包括计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师或企业员工使用。...
节点实时重新加载0.3 快速的nodejs +基于套接字的浏览器重新加载器,可满足您所有前端开发人员的需求。 用法 通过npm npm install -g node-live-reload (确保全局安装) 将以下js添加到您的项目中 ...
**Microsoft Visual Studio 使用 Node.js 全面指南** 在IT领域,Microsoft Visual Studio(VS)作为一款强大的集成开发环境(IDE),被广泛用于多种编程语言的开发,包括JavaScript及其流行的运行时环境Node.js。...
软件开发设计:应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、存储设备...
如果你是一个前端程序员,你不懂得像PHP、Python或Ruby等动态编程语言,然后你想创建自己的服务,那么Node.js是一个非常好的选择。 当然,如果你是后端程序员,想部署一些高性能的服务,那么学习Node.js也是一个非常...
聊天室 nodejs;... 2个用户之间的私人聊天离开聊天室显示聊天室的历史记录(最后 10 条消息)。 显示正在写作的用户的姓名#Linux 上的安装和执行安装 NodeJS 和 npm 运行 'sudo npm install -d' 从 package.json 安装你...
7. **控制器(Controller)**:控制器处理路由的业务逻辑,调用模型并返回视图,是模型和视图间的桥梁。 8. **配置文件**:项目中可能包含环境变量配置(如`.env`文件),用于管理数据库连接字符串、API密钥等敏感...