文档章节

node入门应用

竹影星辰
 竹影星辰
发布于 2017/07/06 23:49
字数 711
阅读 38
收藏 2

node笔记

==========

web后台
    php: 
        用于企业官网, 小网站, 简单的平台
    java:  
        用于企业级开发, 银行项目, 大型平台

-----------------------------------------------------------------------------------------------------------

优点: 
    1. 性能高
    2. 适合前台
    3. 和js配合好
缺点:
    1. 很少大型的框架
    2. 学习资料少
    3. 对程序员的要求高

安装:
    测试node的是否安装 node -v
    官网: https://nodejs.org/en/

    LTS: 目前为止最新最稳定的版本  

    Current: 目前为止最新的版本

    安装: 一路下一步

    成功: 自带npm

文件: .js结尾
命名: 所有文件名不能是中文, 不可用node关键字

dos操作:
    切换盘符               c:  
    进入文件夹            cd 文件夹名  
    返回上一层            cd .. 
    查看当前文件目录  dir
    补全                      tab键
    清屏                      cln

    执行node             node 文件名
    停止                     ctrl + c

node操作: 
    可用: ECMAScript
    不可: DOM BOM

后台功能:
    1. 访问数据库
    2. 可以和前端交互
    3. 可以让别人访问

协议: http
    规定 约束

框架: 
    express
    koa

-------------------------------------------------------------------

express:
    下载express:
        npm install express

    如果想访问前端的静态页面下载: 
        npm install express-static 

    如果想看下载后的文件下载:
        npm init

    如果需连接数据库
        npm install mysql 

 .........................................................

运用:
△ 创建一个服务器

1. 引入框架

var express = require('express');

2. 创建一个服务

var server = express();

3. 设置监听
    服务器.listen('端口号') 

server.listen(1234);

     端口号: 随意起类似于门牌号 1-655, 只要没用过都行, 1-1024 不要用

 

△ 设置中间件:
1. server.get()  get请求             

server.get('/get', function(request,response) {
   var json = request.query;
   response.send('{"user":"aaa","pass":123}')
});

a. request 前端的请求, 前端的东西, 形参, 结果是个json对象
b. respones 后台给前端返回值, 形参
c. /get 是url地址, 随意定义

2. server.post() post请求

3. server.use() 

 

△ 设置静态文件访问的路径 所有前端的东西放在www里面:

server.use(static('www'));

 

△ 连接数据库设置:           

var db = mysql.createConnection({host:'localhost',user:'root',password:'',database:'aaa'});

 

△ 连接数据库操作:
   查找: var sql = 'SELECT * FROM 表名 WHERE username="'+json.username+'"';
   插入: var sql = 'INSERT INTO 表名 VALUES(0,"'+json.username+'",'+json.password+')';

 

△ 运行数据库操作:
   例: 登录         

db.query(sql,function(err,data){
  if(!err){
    if(data[0]){                                //  有相同数据
       if(data[0].password==json.password){
          res.send('登陆成功');
       }else{                                   //  没有相同数据
          res.send('用户名或密码错误');
       }
    }else{
       res.send('此用户没有注册');
    }
  }
})

a. err  错误信息   没有错误时, 返回null
b. data 返回信息   数据库没有对应值时, 返回空数组[]
     数据库有对应值, 返回一个数组:
     [RowDataPacket { id: 1, username: 'aaa', password: 123 }]

 

△ server.post()用法:
1. post请求分为两部分, head和body, 数据在body里, express不能解析身体, 需要下载body-parser解析
    下载: npm install body-parser          

 2. 引入

var body = require('body-parser')

3. 使用: 写接口之前使用        

 server.use(body.urlencoded());

4. 中间件            

server.post('/aaa',function(req,res){
   var json = req.body                // 接收前台数据  
})

 

© 著作权归作者所有

竹影星辰
粉丝 0
博文 1
码字总数 711
作品 0
昌平
前端工程师
私信 提问
Node.js开发入门—notepad++ for Node.js

对于Node.js开发,论IDE的话,Webstorm是不二的选择,但它是收费的(可免费使用30天)。一开始,我们先将就一下,使用notepad++来编写Node.js应用。这样做还有一大好处:没有关于Node.js的代...

foruok
2015/09/12
0
0
全面认识 Node.js

1. 了解 Node.js 从 Java 开发人员的视角了解什么是 Node.js(什么不是 Node.js),以及其工作原理和益处。然后,看看使用 Node 开发的 Web 应用程序是什么样的。 阅读: 面向 Java 开发人员的...

IBMdW
2012/09/17
2.6K
1
Node.js开发入门—套接字(socket)编程

Node.js的net模块提供了socket编程接口,方便我们利用较为底层的套接字接口来实现应用协议。这次我们看一个简单的回显服务器示例,包括服务端和客户端的代码。 使用JavaScript也可以进行套接...

foruok
2015/09/14
0
0
Node.js开发入门—引入UIBootstrap

很多Web管理系统的侧边菜单是可折叠的(手风琴样式),我们在前面两篇文章里的HTML模板,自己用div、css做了一些处理,可效果不好。所以我请来了一个前端UI框架,UI Bootstrap,来帮忙。别看...

foruok
2015/09/02
0
0
想当程序员?从这里入门吧!

想当程序员? 没找到合适的入门教程? 实验楼上有啊,各技术入门教程~ 【C 语言入门教程】 C语言,不用多介绍,大多数人的入门语言;除了入门教程,还有很多实战项目教程呢,学完基础直接动手...

实验楼
2017/11/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

如何远程调试部署在CloudFoundry平台上的nodejs应用

网络上关于如何本地调试nodejs应用的教程已经很多了,工具有Chrome开发者工具,Visual Studio Code,和nodejs周边的一些小工具等等。 在实际情况中,我们可能遇到本地运行良好,但是部署到C...

JerryWang_SAP
23分钟前
0
0
微信扫码访问网站调用默认浏览器打开如何实现?

我们在微信内分享链接或二维码的时候,我们会发现我们的网站是可以在浏览器里正常打开的,但就是不能在微信里打开,提示 “ 已停止访问该网页 ”,无论是聊天框也一样。说是系统检测到您的网...

明尼苏达哈士奇
31分钟前
1
0
一份Java程序员进阶架构师的秘籍,你离架构师还差多远

一、如何定义架构师 Java架构师,首先要是一个Java程序员,熟练使用各种框架,并知道它们实现的原理。jvm虚拟机原理、调优,懂得jvm能让你写出性能更好的代码;池技术,什么对象池,怎么解决并...

我最喜欢三大框架
39分钟前
0
0
想说再见不容易,win7最新市占率依然超36%

微软正在通过努力让Windows 7用户升级至Windows 10,不过从目前的市占率来看,他们还是要加把劲了。 据最新的市场份额看,Windows 10在本月的市场份额有所提升,从43.62%增长到44.10%。另一...

linuxCool
50分钟前
4
0
SQL的优化

对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 对查询进行优化,要尽量避免全表扫描,首先应考虑在进行条件判断的字段上创建了索引。 应尽量避...

咸鱼-李y
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部