node教程

1、模块化开发

1.1 模块化开发优点

  • 开发效率高——代码方便复用
  • 方便后期维护

1.2 模块化开发解决方案

SeaJS基于CMD的模块化开发解决方案

官网http://seajs.org/
github:https://github.com/seajs/seajs
(开发版本是原版,生产/线上版本用的是压缩版)

SeaJS的使用

  • 引入seajs库——SeaJS所在的路径为默认根目录写相对路径的时候需要注意
  • 定义模块 define(function(require, exports, module){ 模块代码 });
    ——CMD规范
  • require:加载模块(js)
  • 配置文件
 seajs.config({
    //配置根目录 
    base: "../sea-modules/",
    alias: {
      "jquery": "jquery/jquery/1.10.1/jquery.js"
      // 别名:路径(方便调用)
    }
  });
  • 暴露接口 exports 和 module.exports(相当于return),module.exports是一个对象,是用来打破封装性,返回想要曝露出去的东西
    1. module.exports曝露出一个完整的对象,只能扔一次只能曝露出来一个
    2. exports是module.exports的别名,可以用来单个属性、方法、对象的曝露,用点 . 的形式,exports能做的事情module.exports也可以做
  • 启动模块 seajs.use
    1. 加载入口模块,我们把define定义的js就叫模块
    2. 这个用于在html代码里面的加载

2、关于node

什么是 Node?

  • https://nodejs.org/en/
  • node是js运行环境基于v8引擎
    特点用事件驱动、无阻塞的io模型
    优势轻量、高效
  • node是门技术不是语言
    java java
    .net c#
    node js
  • Node.js® is a JavaScript runtime built on Chrome’s V8 JavaScript engine.
    • JavaScript runtime JavaScript 运行时
    • Chrome’s V8 JavaScript engine Chrome 浏览器 V8 引擎
    • Node.js 是一个 构建于 谷歌的 Chrome 浏览器的 V8 引擎之上的一个 JavaScript运行时 环境
    • Node.js可以解析和执行 JavaScript 代码
  • Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient.
    • event-driven 事件驱动模型
    • non-blocking I/O model 非阻塞IO模型 IO(input/output)输入与输出
    • lightweight[ˈlaɪtweɪt] 轻量级
    • 在软件开发行业中,轻量级标识褒义词
    • 轻量级也就意味着 运行速度快
    • 轻量级也就意味着有更好的 跨平台 特性(平台的差异性,兼容性)
    • efficient[ɪˈfɪʃnt] 高效的
    • Node.js的 事件驱动和非阻塞IO模型使得Node.js本身非常的轻量和高效
  • Node.js’ package ecosystem, npm, is the largest ecosystem of open source libraries in the world.
    • package ecosystem npm 包生态系统 npm
    • largest 最大的
    • open source libraries 开源库
    • 理论意义上 开源就表示有成熟的社区,开放源代码
    • Node.js 的npm包生态系统,是世界上 最大的 开源库 生态系统
    • 以前的 客户端中 JavaScript 库 散列在互联网的各个地方
    • npm 就是 把大家经常使用的一些开源库 给 组织到了一起

Node 是一个可以解析和执行 JavaScript 代码的 运行时环境

  • Node.js 的作者
    • 瑞恩.达尔

Node 的实现结构

  • V8 JavaScript 解析执行引擎 ECMAScript
  • 中间层 (提供了文件操作、网络操作登陆接口)更加接近操作系统的接口供开发人员使用
  • 硬件层

猜你喜欢

转载自blog.csdn.net/weixin_41409254/article/details/80881340