nodejs day2

目录

npm使用

使用npm的方式

1.复习除了显示表单还要write jq 文件

2.显示表单页面,获取表单数据,输出表单输入框中的内容

3.开放,模块化

4.文件上传

5.数据库的配置与连接


npm使用

npm类似于appstore(苹果应用商店) 下载安装应用的
可以使用npm下载 mysql  jquery formidable bootstrap....

使用npm的方式

1.初始化(必须有网络)
    npm init --yes
        如果 执行完上边的命令 出现npm ERR!!! 表示报错了 几率很低
2.查找软件
    1.通过指定的网站去查找   *******
        https://www.npmjs.com
    2.使用命令查找软件
        npm search mysql
3.软件的安装
    1.记录安装信息
        npm install 软件包的名字 --save
    2.不记录安装信息
        npm install formidable
4.卸载软件
    npm uninstall 软件名
5.查看软件
    npm list
    
<input type="file"/> 文件上传
<input type="text"> 单行文本框
<input type="radio"/> 单选按钮
<input type="checkbox"/>
<input type="password"/>
<input type="submit"/>
<input type="reset"/>

 

 

 

1.复习除了显示表单还要write jq 文件

var http = require("http");
var fs = require('fs');
var server = http.createServer(function(req,res){
	var url = req.url;
	if(url == "/server"){
		fs.readFile("./1.html",function(err,data){
			if(err){
				res.write("404");
				res.end();
			}else{
				res.write(data);
				res.end();
			}
		})
	}else{
		var p = "."+url;
		console.log(p);
		fs.readFile(p,function(err,data){
			if(err){
				res.write('404');
				res.end();
			}else{
				res.write(data);
				res.end();
			}
		})
	}
})
server.listen(8090);

 

2.显示表单页面,获取表单数据,输出表单输入框中的内容

//加载http
var http = require('http');
var fs = require("fs");

//引入qs模块  用于解析格式化查询的字符串  aaa=aaa&bbb=bbb

var qs = require("querystring")


var server = http.createServer(function(req,res){
	var url = req.url;
	//判断路径
	if(url == "/form" && req.method == "GET"){
		//获取表单的静态资源
		fs.readFile("./form.html",function(err,data){
			if(err){
				res.write('404');
				res.end();
			}else{
				res.write(data);
				res.end();
			}
		})	
	}
	if(url == "/doLogin" && req.method == "POST"){
		//console.log(123);
		//接收表单中的值
		//定义一个变量,用于存储每一次监听到的参数
		var data1 = '';
		//addListener() 监听表单中数据
		/*
			req.addListener('data',function(chunk){
				变量+=chunk
			})
		*/
		req.addListener('data',function(chunk){
			data1+=chunk
		})
		
		//把监听到的参数返回
		/*
			req.addListener('end',function(){
				变量 = data
			})
		*/
		req.addListener('end',function(){
			var t = qs.parse(data);
			console.log(t.userName);//userName=admin&pass=123123
			
			//获取到的表单中的键就是表单中的name属性的属性值
			
		})
		res.end();
	}
})

server.listen(8090)

 

 

3.开放,模块化

console.log('this is 3.js');
//引入3.js
var res = require("./4.js");

/*function fun(){
	console.log('this is 3.js in fun func');
}
*/
res.fun();

console.log(res.obj.sex);
/*
	1.如果引入外部的js文件,在外部js中生命的函数,需要在那边开发出去,我这边才可以用
	2.在那个js文件中,开发出来的方法,需要使用引入那js文件的返回值进行调用
		例如:
			var res = require('./4.js');
			调用4.js中的方法的时候需要使用 res.方法名
*/
console.log('this is 4.js');

//定义一个方法
function fun1(){
	console.log('this is fun function');
}

//定义一个对象:
var obj = {'name':'张三','sex':'男'};

//开放我们的fun函数

module.exports.fun = fun1;
module.exports.obj = obj;

 

 

4.文件上传

//  使用node完成文件上传
// 1.导入模块

var http = require('http');
var fs = require('fs')

// 导入 formidable模块(必须保证该模块已经安装)
var formidable = require('formidable')
var server = http.createServer(function (req, res) {
    var url = req.url;
    if (url == './file' && req.method == 'GET') {
        fs.readFile('./form2.html', function (err, data) {
            if (err) {
                res.write('404')
                res.end()
            } else {
                res.write(tada)
                res.end()
            }
        })
    }
    if (url == '/doFile') {
        // 你点击了上传按钮
        // 实现我们的文件上传功能
        // 1.实例化formidable

        var form = new formidable.IncomingForm();
        // 2.指定文件上传的路径
        form.uploadDir = './uploads';
        form.keepExtensions = true;
        // form对象的parse方法

        /*    
        语法格式

        form.parse(req,匿名函数)
           参数1.请求报文
           参数2:匿名函数
                匿名函数有参数
                   参数1:err异常错误
                   参数2:普通表单字段 fields 
                   参数3:文件信息 files 
 */


        form.parse(req, function (err, fields, files) {
            if (err) {
                //     抛出错误
                throw new err;
            }
            console.log(files);
            res.end()
        })
    }
})
server.listen(8090)

 

6.数据库的配置与连接

/*
	数据库,node来操作数据库
	1.需要数据库
*/

//引入对应的模块
var http=require('http')
var mysql=require9('mysql')



//1.配置数据库
var connection=mysql.createConnection({
	host:'localhost',
	user:'root',
	password:'root',
	database:'h5-56'
})
	

//2.开始连接

connection.connect();
//3.创建http服务

var server=http.createServer(function(req,res){
	var url=req.url;
	if (url=='/mysql' && req.method=='GET'){
		// 执行查询操作
		connection.quety('select * form stu',function(error,results,fields){
			// 执行一个查询数据库的语句
			console.log(results);
			res.end()
		})
	}
})
server.listen(8090);

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值