前端

Node.js使用大全

2018-08-22  本文已影响117人  光明程辉

先回顾一下我们前端的主要工作:

1、写页面 --- HTML
2、美化页面 ----- CSS
3、调用后台接口API去请求数据或 提交数据 ----- JS
例如:
  前端核心之一技能:Ajax --> XHR、JQuery、$.agax()、$.get、$.post
        其中 JQuery 更多的是操作 DOM 方面的。
4、HTML5 和 CSS3  新语法、新特效
      例如:
            动画、移动web的屏幕适配(媒体查询)
5、Angular  ---- 单页面应用程序
6、Vue  ---- 基于Node
7、微信小程序 --- 官网
8、React Native  --- ios、Android 混合开发
。。。

后端主要工作:

1、主要进行业务逻辑的操作
2、例如: 数据的增加、删除、修改、查询、操作数据库
3、对外暴露API 接口 ---- (API后台的灵魂)

前端(PC、IOS、Android等)和 后端 的协作流程?

同时进行开发:
1、前端写页面,调用后台的接口;(调用API)
2、后台接受前端发送过来的请求,进行业务处理,处理结果返回给前端。(提供API)

1、学习Node首先要学习如何使用 npm 包管理器

区别 NPM、Github、Git
安装包
卸载包

yarn

- yarn和npm的作用完全一样,都是用来管理项目中的第三方依赖包的!
- yarn是Facebook公司推出来的一套包管理工具!
【React,尤其是ReactNative,默认就是用Yarn去装包的】
- yarn会缓存曾经安装过的包;但是npm也会缓存,但是效果不如yarn明显;

学习当然离不开 nodejs文档.

Node它是什么?

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。
Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。
Node.js 的包管理器 npm,是全球最大的开源库生态系统。

Node可以做什么?

总结:Node.js 就是一个Javascript的服务端运行环境(依赖于Chrome 的V8引擎),为Javascript提供了服务器端编程的能力!

怎么运行第一文件?

下面是讲解 常用的模块化

模块化

概念:
把一些功能类似的代码,封装到一个单独的文件中去,这些单独抽离出来的代码文件,就能够提供各种各样好用的功能;这种通过代码功能分割文件的方式,叫做程序中的模块化。

怎么模块化?

exports 和 module.exports 的区别

注意:

在一个 module 中,最终向外暴露的成员,以 module.exports 指向的对象为准!

模块加载规则

  1. 优先从缓存中加载
  2. 加载核心模块:优先从缓存中加载;如果缓存中没有的话,再去执行加载核心模块!
  3. 自己的模块:优先从缓存中加载;如果缓存中没有的话,再去执行加载用户模块!
用户模块的查找规则:
如果不写后缀名,则先严格按照给定的文件名去查找模块并加载执行;
index   ->  index.js  ->   index.json    ->  index.node

模块化

  1. node中的模块化基于commonJS:最显著的特点所有依赖项都是同步加载的!!!
  2. commonJS由于是一个同步加载规范,所以不适合浏览器端使用;于是,浏览器端需要使用异步的模块加载机制
由于 node是具有中后台的能力,所以后台就经常使用到文件操作:(异步的,注意坑!)

解决异步的坑:

1、嵌套 2、创建一个计数器count,然后判断是否加载完毕 3、promise
  // forEach 的使用
  data.forEach((value, index) => {}

1、node常见的文件操作

fs.Stats 对象提供了一个文件的信息。

  1. fs.readFile
  2. fs.writeFile
  3. fs.appendFile
    ...
写出一个类似于 Apache 服务器的服务?(4步)
  var http = require('http')              // 引入 require(‘http’)
  var server = http.createServer()        // 创建 服务
  server.listen('3000', () => {           // 链接 listen      
      console.log('http://127.0.0.1:3000')
  })     
  server.on('request', (req, res) => {     // 请求
    
  }

2、node怎么使用art-template 模板的使用?

art-template官方文档

引入 art-template

注意:nodejs res.end和res.send 区别
简单来说就是   如果服务器端没有数据返回到客户端 那么就可以用 res.end

但是 如果 服务器端有数据返回到客户端 这个时候必须用res.send ,不能用 res.end(会报错)

待更新。。。

上一篇 下一篇

猜你喜欢

热点阅读