美文网首页nodejs
node.js web编程总结--重点语法

node.js web编程总结--重点语法

作者: 爱编程的凯哥 | 来源:发表于2019-02-06 07:01 被阅读109次

    目的

    学习node.js重点语法,包括如下,目的:跳过基本的语法学习,进入node.js搭建web服务的重点知识:

    1. 文件处理--fs模块
    2. 模块管理
    3. Express框架
    4. JXcore打包

    fs模块(此模块中所有方法都有同步和异步两种形式)

    常用脚本读:

    [root@localhost nodejs]# vi test.js
    //写入内容 
    var fs=require('fs'); // 引入fs模块
    
    fs.readFile('./1.txt', function(err, data) {
        // 读取文件失败/错误
        if (err) {
            throw err;
        }
        // 读取文件成功
        console.log(data.toString());
    });
    
    [root@localhost nodejs]# vi 1.txt
    hello world
    
    [root@localhost nodejs]# node test.js 
    hello world
    

    写文件:

    var fs = require('fs'); // 引入fs模块
    
    // 写入文件内容(如果文件不存在会创建一个文件)
    // 传递了追加参数 { 'flag': 'a' }
    fs.writeFile('./test2.txt', 'test test', { 'flag': 'a' }, function(err) {
        if (err) {
            throw err;
        }
    
        console.log('Saved.');
    
        // 写入成功后读取测试
        fs.readFile('./test2.txt', 'utf-8', function(err, data) {
            if (err) {
                throw err;
            }
            console.log(data);
        });
    });
    
    1. 模块管理
         模块管理,即不同的js间互相引用,创建对象供别打类使用。
      如:
    //创建hello.js文件,exports.world发布world方法提供访问服务
    [root@localhost nodejs]# vi hello.js
    exports.world = function() {
      console.log('Hello World');
    }
    
    //创建主文件入口,引用hello.js文件,调用对应world方法
    [root@localhost nodejs]# vi main.js
    var hello=require('./hello');
    hello.world();
    

    还有引用方式就是export对象提供入口

    //hello.js 
    function Hello() { 
      var name; 
      this.setName = function(thyName) { 
          name = thyName; 
      }; 
      this.sayHello = function() { 
          console.log('Hello ' + name); 
      }; 
    }; 
    module.exports = Hello;
    

    此时引用就将创建对应对象

    var Hello = require('./hello'); 
    //生成对应对象,直接调用对应方法
    hello = new Hello(); 
    hello.setName('BYVoid'); 
    hello.sayHello(); 
    

    Express框架

    安装Express

    cnpm install express --save
    $ cnpm install body-parser --save
    $ cnpm install cookie-parser --save
    $ cnpm install multer --save
    

    Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具

    先用经典的helloWorld来演示下菜鸟的经典例子demo.js

    var express = require('express');
    var app = express();
     
    //  主页输出 "Hello World"
    app.get('/', function (req, res) {
       console.log("主页 GET 请求");
       res.send('Hello GET');
    })
     
     
    //  POST 请求
    app.post('/', function (req, res) {
       console.log("主页 POST 请求");
       res.send('Hello POST');
    })
     
    //  /del_user 页面响应
    app.get('/del_user', function (req, res) {
       console.log("/del_user 响应 DELETE 请求");
       res.send('删除页面');
    })
     
    //  /list_user 页面 GET 请求
    app.get('/list_user', function (req, res) {
       console.log("/list_user GET 请求");
       res.send('用户列表页面');
    })
     
    // 对页面 abcd, abxcd, ab123cd, 等响应 GET 请求
    app.get('/ab*cd', function(req, res) {   
       console.log("/ab*cd GET 请求");
       res.send('正则匹配');
    })
     
     //192.168.1.110为我虚拟机ip,此处可以去掉此参数,启动后将显示http://::8081,表示接受此端口所有请求
    var server = app.listen(8081,  "192.168.1.110",function () {
     
      var host = server.address().address
      var port = server.address().port
     
      console.log("应用实例,访问地址为 http://%s:%s", host, port)
     
    })
    //执行js
    [root@localhost web1]# node demo.js 
    应用实例,访问地址为 http://192.168.1.110:8081
    

    下面浏览器访问:


    helloworld

    我虚拟机ip设置为192.168.1.110,访问端口8081,根据uri匹配,简单的实现了我们的web服务器功能。

    JXcore打包

    根据环境下载 https://github.com/jxcore/jxcore-release
    然后将里面的jx文件拷贝到/usr/local/bin/下
    检查版本

    [root@localhost bin]# jx --version
    v0.10.40
    

    打包命令,server.js作为服务启动入口,即上面的server.js
    jx package server.js index

    开启web服务
    jx server.js

    参考文件:
    http://www.runoob.com/nodejs/nodejs-tutorial.html
    https://github.com/papertiger8848/modelproxy
    https://www.cnblogs.com/hexiaobang/p/9590443.html

    相关文章

      网友评论

        本文标题:node.js web编程总结--重点语法

        本文链接:https://www.haomeiwen.com/subject/dqoksqtx.html