npm ls webpack 检查局部依赖版本

Node

  • 1.理解Node在应用程序中的作用,可以使用Node搭建前端运行环境、使用Node操作文件、操作数据库等等
  • 2.掌握一种Node开发框架,如ExpressExpressKoa的区别
  • 3.熟练使用Node提供的APIPathHttpChild Process等并理解其实现原理
  • 4.Node的底层运行原理、和浏览器的异同
  • 5.Node事件驱动、非阻塞机制的实现原理

    node安装

    node是js的解释器,运行环境。 解决了js对浏览器的依赖, 提供高性能的web服务/IO操作/事件处理。node使用是v8引擎。
    优势:
  1. 处理大流量数据
  2. 适合实施交互的应用
  3. 完美支持对象型数据库(mongDB)
  4. 异步处理(大量)并发链接

依赖知识: js、es6(nodejs支持)、服务器相关知识(appach、http)、liunx

REPL(交互式解释器)

可以通过终端,输入 node 命令进入REPL运行环境(read-eval-print-loop 读取-求值-输出-循环),环境中命令提示符(默认为 > )。如果使用参数--use_strict,则 REPL 将在严格模式下运行。特殊变量下划线(_)表示上一个命令的返回结果。基础命令:
.break:书写一个多行函数的中途想要放弃该函数的书写或重写该函数时候,该命令可以返回到命令提示符的起点处。或者是按下两次的ctrl+c
.clear:清除REPL运行环境上下文对象中保存的所有变量与函数。
.exit:退出REPL运行环境。
.help:显示所有基础命令。
.save:REPL环境中输入的所有表达式保存到一个文件中。
.load:把文件中的所有表达式载入到REPL的环境中。

包管理器npm

NPM 常用命令

  • npm —version
  • npm help install
  • npm install/uninstall/update package -g/-D/-S 全局/dev依赖/依赖
  • npm list -g
  • npm search package
  • npm view/info(别名) package version/versions 本地版本/全部版本
  • npm install -g cnpm —registry=https://registry.npm.taobao.org 也可映射为公司私仓
  • npm cache clear可以清空NPM本地缓存,用于对付使用相同版本号发布新版本代码的人
  • npm publish/unpublish
  • 更多见https://www.npmjs.cn/

Package.json 属性说明

  • name - 包名。
  • version - 包的版本号。
  • description - 包的描述。
  • homepage - 包的官网 url 。
  • author - 包的作者姓名。
  • contributors - 包的其他贡献者姓名。
  • dependencies - 依赖包列表。如果依赖包没有安装,npm 会自动将依赖包安装在 node_module 目录下。
  • repository - 包代码存放的地方的类型,可以是 git 或 svn,git 可在 Github 上。
  • main - main 字段指定了程序的主入口文件,require(‘moduleName’) 就会加载这个文件。这个字段的默认值是模块根目录下面的 index.js。
  • keywords - 关键字

    回调

    函数调用的三种方式: 同步调用、回调(双向调用)、异步调用
    异步解决程序运行阻塞问题。

阻塞

  1. var fs = require("fs");
  2. var data = fs.readFileSync('input.txt');
  3. console.log(data.toString());
  4. console.log("程序执行结束!");

非阻塞(异步处理)

  1. var fs = require("fs");
  2. fs.readFile('input.txt', function (err, data) {
  3. if (err){
  4. console.log(err.stack);
  5. return;
  6. }
  7. console.log(data.toString());
  8. });
  9. console.log("程序执行完毕");

nodejs 模块化

概念:模块是Node.js 应用程序的基本组成部分,文件和模块是一一对应的。
意义:解决文件之间的相互调用
四类模块:原生模块和3种文件模块(三类文件模块以后缀来区分)

  • .js。通过fs模块同步读取js文件并编译执行。
  • .node。通过C/C++进行编写的Addon。通过dlopen方法进行加载。
  • .json。读取json文件,调用JSON.parse解析加载。

流程:
nodejs-require.jpg
加载方式:

  • http、fs、path等。原生模块。
  • ./mod或../mod。相对路径的文件模块。
  • /a/mod,绝对路径的文件模块。
  • mod,非原生模块的文件模块。

模块的导入和导出, require/module.exports

nodejs 函数

nodejs路由

全局方法和工具

文件系统