目录
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);