Mac下配置Node.js开发环境、express安装、sequelize的初始用、ajax数据交互

    xiaoxiao2022-07-05  190

    一、配置Node.js开发环境、express安装、ajax数据交互

    下载node和npm或cnpm

    这里就不演示如何下载了,具体可以看我上一篇的博客:https://mp.csdn.net/mdeditor/90038900#

    配置Node.js开发环境、express安装

    1、安装express框架

    sudo npm install -g express

    如果是window系统则不用加sudo

    2、安装express命令工具

    sudo npm install -g express-generator

    3、生成express框架

    express -e myexpress

    4、安装依赖

    cd myexpress cnpm i

    5、启动服务器

    node ./bin/www

    然后打开浏览器,访问http://localhost:3000

    如果出现Welcome to Express说明Express已经成功生成

    ajax数据的简单交互

    6、在public目录下创建一个index.html文件

    因为生成的express默认路径就是去到public下面的index.html文件,后续会发怎样修改默认路径的博客

    7、在routs目录下的index.js写个接口

    router.post('/test',function (req,res,next) { var aa = 100; res.writeHead(200, { 'Content-Type': 'application/json' }) res.end(JSON.stringify(aa)) })

    8、在index.html下写个请求接口

    <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script> <script type="text/javascript"> $.ajax({ url:'/test', method:'post', contentType:"application/json;charest=utf-8", dataType:"json", success:function (data) { data += 10; console.log(data); } }); </script>

    重新跑下服务器,完成~

    sequelize的初使用

    安装

    使用npm安装

    前提:需要安装node

    npm install --save sequelize npm install --save mysql2

    我用的数据库是mysql,可以根据需要进行安装

    后台建立步骤

    ①连接数据库(config)–>②建立表与增删改查语句(model)–>③执行操作(routes

    1、在config下连接数据库

    var Sequelize = require("sequelize"); /** * 连接指定类型的数据库 * host:数据库地址 * max:连接池最大连接数量 * min:连接池最小连接数量 * idle:每个线程最长等待时间 * @type {Sequelize} */ module.exports = new Sequelize('test1', 'root', 'root', { host: 'localhost', dialect: 'mysql', pool: { max: 5, min: 0, idle: 10000 } });

    2、在model下建表与数据库语句

    var Sequelize = require("sequelize"); var db = require("../config/db"); var User = db.define('user', { //建user表 id: { type: Sequelize.INTEGER, primaryKey: true, //主键 autoIncrement: true //自增 }, email: { type: Sequelize.STRING }, mobile: { type: Sequelize.STRING,unique:true }, password: { type: Sequelize.TEXT('long') }, create_time: { type: Sequelize.DATE } }, { freezeTableName: true,//是否在数据库中创建复数表名,例如 users timestamps: false//是否在数据库中创建 createAt 和 updateAt 字段 }); // 创建表,force 为 true 时会先执行 drop 再创建 var user = User.sync({ alert: true }); exports.addUser = function (email, mobile, password) { //新增数据 return User.create({ email: email, mobile: mobile, password: password }) }; exports.findUserByName = function (email) { //查找数据 return User.findOne({ where: { username: email } }) }; exports.updateInformation = function (id, Hportrait, name,company,address) { //更改数据 var pram = { Hportrait: Hportrait, name: name, company: company, address: address, }; return User.update( pram,{ where:{id:id} } ); }; //删除数据 User.destroy({ where:{ name:{ $like:'Zhang%' } } }).then(function(result){ console.log('destroy user'); console.log(result); });

    3、在routes下执行操作

    var express = require('express'); var fs = require('fs'); var path = require("path") var formidable = require('formidable'); var router = express.Router(); var user = require('../model/user'); // var information = require('../model/information'); router.get('/getUser', function (req, res, next) { var reqArg = req.query; res.header("Content-Type", "application/json; charset=utf-8");//改变编码,才不会出现乱码 user.findUserByName(reqArg.name).then(function (user) { //调用user表方法 var json = { statusCode: 1, data: user } res.end(JSON.stringify(json)); }) });

    使用sequelize框架的最大好处就是操作简单,数据库建错字段也容易修改

    最新回复(0)