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路由搭建(前端路由、服务器路由)

  • 相关阅读:
    POJ 1401 Factorial
    POJ 2407 Relatives(欧拉函数)
    POJ 1730 Perfect Pth Powers(唯一分解定理)
    POJ 2262 Goldbach's Conjecture(Eratosthenes筛法)
    POJ 2551 Ones
    POJ 1163 The Triangle
    POJ 3356 AGTC
    POJ 2192 Zipper
    POJ 1080 Human Gene Functions
    POJ 1159 Palindrome(最长公共子序列)
  • 原文地址:https://www.cnblogs.com/xz233/p/13568352.html
Copyright © 2011-2022 走看看