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

目的

学习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

下面浏览器访问:


node.js web编程总结--重点语法_第1张图片
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编程总结--重点语法)