• 关于创建node服务


    1.环境条件准备:

      A.确定node已经创建

      B.npm或cnpm已经下载,npm和cnpm其实是一个道理

      C.mysql或者使用其他数据库已经安装(本例使用mysql)

    2.开始创建,首先新建一个文件夹,假设名字为serv

    3.打开对应路径的cmd,并输入npm init -y( “-y” 表示默认按下enter键,如果不写也行,只是 “package.json” 的配置变成手动配置)初始化package.json

    这时候serv文件夹下会生成一个package.json文件

    4.安装mysql依赖,即输入npm install mysql --save,它会自己创立node_modules文件夹以及相关依赖(mysql只是一个例子,可以安装别的依赖,同样可以创立node_modules文件夹以及相关依赖),一个package-lock.json文件

     同样的依赖下载:包含node中间件框架connect(或express等其他相关依赖)创建连接,body-parser(body解析),mysql,util(url.parse 方法来解析 URL 中的参数)等等,其中,由于node版本不一致,所以可能需要的依赖不仅仅是如此(当前node版本10.16.0);

    5.在serv文件夹下创立一个js文件,名字可以随便取,不过最好以server为命名参照基础,当前示例文件为server.js,代码示例如下:

    var connect = require('connect'); //创建连接
    var bodyParser = require('body-parser'); //body解析
    var util = require('util'); //url.parse 方法来解析 URL 中的参数
    var mysql = require('mysql'); //mysql
    var connection = mysql.createConnection({
        host: 'localhost',
        user: 'root',
        password: '123456',
        database: 'glass_min'
    });
    
    var app = connect();
    app.use(bodyParser.json()) //JSON解析
        .use(bodyParser.urlencoded({
            extended: true
        }))
        //use()方法还有一个可选的路径字符串,对传入请求的URL的开始匹配。
        //use方法来维护一个中间件队列
        .use(function(req, res, next) {
            //跨域处理
            // Website you wish to allow to connect
            res.setHeader('Access-Control-Allow-Origin', '*'); //允许任何源
            // Request methods you wish to allow
            res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE'); //允许任何方法
            // Request headers you wish to allow
            res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type,X-Session-Token'); //允许任何类型
            res.writeHead(200, {
                "Content-Type": "text/plain;charset=utf-8"
            }); //utf-8转码
            next(); //next 方法就是一个递归调用
        })
        //通用通用设备列表
        .use('/v1/cnc/common/mac_list', function(req, res, next) {
            console.log("[通用设备列表]:");
            console.log(req.body);
            var result = {
                "code": 200,
                "msg": "success",
                "data": []
            }
            var sql = 'SELECT code,id,name FROM `equlistComm` WHERE id = "aaf6387e-9607-41ff-b2b4-93b35fcbc795"';
            conQueryData(sql, result, res, next());
        })
        .listen(3001);
    console.log('Server started on port 3001.');
    
    /**
     * sql操作
     * @param {String} sql
     */
    function conQueryData(sql, result, res, fun) {
        connection.query(sql, function(error, results, fields) {
            if(error) throw error;
            result.data = results;
            res.end(JSON.stringify(result));
            fun;
        });
    }

    6.在cmd上运行node+文件全称,当前示例为:node server.js

  • 相关阅读:
    C# 开发规范
    C# 调用webserver 出现:未能从程序集“jgd3jufm, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null”中加载类型
    C# 组装XML传给webserver+XML 返回获取多个xml,根据多个XML 返回dataset类型
    linux下搭建git服务器
    Linux整合Apache和SVN
    JAVA通过Gearman实现MySQL到Redis的数据同步(异步复制)
    比尔盖茨的十句忠告
    Spring核心接口之InitializingBean
    mongodb安装和配置
    redis主从配置
  • 原文地址:https://www.cnblogs.com/Chansea/p/node-server.html
Copyright © 2020-2023  润新知