zoukankan      html  css  js  c++  java
  • NodeJs及路由

    1.Nodejs简介 - http://nodejs.cn/api/

    Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。

    Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。

    Node.js 的包管理器 npm,是全球最大的开源库生态系统。

    2.COMMONJS模块化规范(http://www.commonjs.org/)

    CommonJS是一种规范,NodeJS是这种规范的实现。

    一个文件就是一个模块。

    CommonJS模块规范主要分为三部分:模块定义、模块引用、模块标识

    2.1模块定义-export

    export是module.exports的一个引用。

    2.2模块引用-require

    2.3模块标识:

    模块标识指的是传递给require方法的参数,必须是符合小驼峰命名的字符串,或者以 ./ 、.. /、开

    头的相对路径,或者绝对路径。

    requireJS --AMD 参考commonjs规范

    es6module 参考commonjs规范

    3.npm , nrm,nvm工具使用;

    npm(Node.js自带的包管理工具)

    npm为你和你的团队打开了连接整个 JavaScript 天才世界的一扇大门。它是世界上最大的软件注册表。

    npm info [package] 查看当前package 的版本信息

    npm view [package] versions 查看npm下面package 所有的版本

    npm update [package] 更新模块

    npm uninstall [package] 卸载模块

    npm install [package] 安装模块

    npm国外的服务器,安装过程中有可能因为网络问题产生丢包,可以采用cnpm进行安装

    cnpm install:淘宝镜https://blog.csdn.net/quuqu/article/details/64121812

    Dos 下面按照顺序将下面的三句命令复制执行。

    npm config set registry https://registry.npm.taobao.org

    npm config get registry

    npm install -g cnpm --registry=https://registry.npm.taobao.org

    npm cache clean -f :清除npm的缓冲

    yarn(软件安装)--facebook

    https://yarnpkg.com/lang/zh-hans/docs/install/#windows-stable (下载yarn)

    https://yarnpkg.com/zh-Hans/docs/cli/ (yarn的常用命令)

    yarn init:初始化项目;

    yarn install:安装package.json 文件里定义的所有依赖包;

    yarn global add [package] : 安装全局模块(包)。

    yarn add [package] --dev 安装依赖的模块(包)

    yarn remove [package]:卸载模块(包)。

    yarn global remove [package]:卸载全局的包

    tyarn安装:是国内淘宝的镜像

    npm install yarn tyarn -g

    nrm(npm registry manager )是npm的镜像源管理工具,有时候国外资源太慢,那么我们可以用这个来切换镜像源。

    首先全局安装 nrm npm install -g nrm

    列出可用的源:nrm ls 使用哪个源:nrm use taobao

    删除电脑的所有的node版本,重新利用nvm进行安装。

    nvm是一个可以让你在同一台机器上安装和切换不同版本node的工具,nvm 的官方版本只支持Linux 和 Mac。 Windows 用户,可以用nvm-windows。

    https://www.cnblogs.com/hamsterPP/p/8076131.html

    配置淘宝源,让npm安装速度更快。

    打开nvm安装的根目录“settings.txt”文件,在最后面追加下面两行:

    node_mirror: https://npm.taobao.org/mirrors/node/

    npm_mirror: https://npm.taobao.org/mirrors/npm/

    nvm list available 列出node的所有版本。

    nodemon 测试工具使用:直接监听js文件

    Nodemon 是一款非常实用的工具,用来监控你 node.js 源代码的任何变化和自动重启你的服务器。

    Nodemon 是一款完美的开发工具.

    npm install -g nodemon

    4.自定义模块/内置模块/第三方模块

    自定义模块:根据commonjs自定义的模块

    内置模块:Node.js自带的

    第三方模块:需要安装引入的npm模块--npm里面

    5.内置模块 http , fs , path 根据需求进行讲解

    5.1http模块:是用于创建一个能够处理和响应 http 响应的服务

    req:request 请求对象

    res:response 响应对象

    获取请求信息

    require.url 获取请求路径

    request.httpVersion 获取协议的版本

    request.method 获取请求的方式(get post)

    request.headers 获取请求头

    设置响应信息

    response.setHeader() 设置响应头

    response.writeHead() 设置响应头

    response.write() 设置响应信息

    response.end() 响应结束

    http.createServer创建一个web服务器

    http.request获取数据接口

    5.2Filesystem(fs模块):用于对系统文件及目录进行读写操作。

    得到文件与目录信息:stat

    创建一个目录:mkdir

    创建文件并写入内容:writeFile(创建并写入内容),appendFile(写入)

    读取文件的内容:readFile--(toString())

    列出目录的内容:readdir--数组

    删除目录或文件:rmdir(删除目录),unlink(删除文件)

    5.3path模块:提供了一些用于处理文件路径的小工具

    path.join(__dirname,'fileurl') 方法使用平台特定的分隔符把全部给定的 path 片段连接到一起,并规范化生成的路径。

    5.4Url模块:帮助我们对提交上来的url进行解析处理

    url.parse(url)--将一个URL字符串转换成对象并返回。

    url.format(obj)--parse逆运算。

    6.路由

    Nodejs路由搭建--前端路由

    Nodejs路由搭建--服务器路由

    单页Web应用(single page web application,SPA),就是只有一张Web页面的应用,是加载单个HTML 页面并在用户与应用程序交互时动态更新该页面的Web应用程序。

    浏览器一开始会加载必需的HTML、CSS和JavaScript,所有的操作都在这张页面上完成,都由JavaScript来控制。因此,对单页应用来说模块化的开发和设计显得相当重要。

    事件:hashchange / location.hash

    当URL的片段标识符更改时,将触发hashchange事件(跟在#符号后面的URL部分,包括#符号)

    hashchange事件触发时,事件对象会有hash改变前的URL(oldURL)和hash改变后的 URL(newURL)两个属性。

    路由实现原理:hash哈希值

    7.强化练习

    1.使用npm下载外部模块 https://www.npmjs.com/

    2.Nodejs, http服务搭建

    3.Nodejs路由搭建(前端路由、服务器路由)

  • 相关阅读:
    jquery 实现 点击按钮后倒计时效果,多用于实现发送手机验证码、邮箱验证码
    javascript 中的后退和前进到上下一页
    文件IO流完成文件的复制(复杂版本主要用来演示各种流的用途,不是最佳复制方案哦)
    int ,Intege,String 三者之间的转换
    servlet生成验证码代码
    jsp servlet 的 请求转发和重定向
    struts2
    SQL连接:内连接、外连接、交叉连接。
    今天参加了聚思力面试
    进程(Process)和线程(Thread)的关系和区别
  • 原文地址:https://www.cnblogs.com/xz233/p/13568352.html
Copyright © 2011-2022 走看看