NODE基础(二)

复习
  • 基本使用
    • 1 引包
    • 2 启动 对于seajs和requirejs 我们最好都用数组的方式(requirejs中写.js有时不好使)
    • 3 定义模块
    • 4 向外暴露
    • 5 引入模块
  • 高级配置
    • seajs alias 别名 paths 别名目录 base 基本路径
    • 路径’abc’ 优先匹配别名和目录名,匹配不上才做base使用
    • 以上匹配规则基于不以./ || ../ || C:// 开头才匹配
  • 进阶
    • index.html:18 Uncaught TypeError: $ is not a function
    • source中存在说明引入文件有,但是没有该对象
    • 由于jquery并没有做CMD化 需要手动CMD
    • seajs 已经停止更新大概三年了,国外的一些第三方包,支持情况较差,对于特殊情况,请google 或者百度
  • requirejs 垫 shim

    requirejs.config({
    //别名:
    pahts:{
    'jq':'../jquery'//文件名称
    },
    shim:{//代码AMD化
    //垫谁,拿什么值
    'jq':{exports:'$'}
    }
    });

JavaScript是世界上最好的语言?

  • JavaScript是目前世界上最好的语言?
  • DBA database administrator 后期待遇
  • JavaScript 当前是最流行的语言
    • 流行: 生态圈活跃
    • 更多的企业开发解决方案
    • 插件、文章
    • 与之配合的工具也会比较多,完善
    • 三大框架 angular react vue
  • 客户端JavaScript是怎样的?

    • 弱类型 浏览器动态脚本语言
    • 弱类型: 没有设置数据类型
    • 动态:计算机只认识0101,一边编译一边运行
    • 静态:先编译成系统可执行文件,再来运行
    • 动态语言就是脚本语言
    • JavaScript分为几个部分:
    • ECMA 负责语法规范,if else
    • DOM 文档对象模型 (定义的是接口) document.getElementById();//浏览器来为我们实现
    • BOM 浏览器对象模型 (定义的是接口) //浏览器来实现具体功能,我们来调用
  • JavaScript的运行环境是什么?

    • 浏览器–> js解析引擎
    • nodejs –> js解析引擎
  • 浏览器中的JavaScript可以做什么?

    • 操作dom 操作元素
    • 操作bom 操作浏览器对象 Location
    • 发送请求
    • 接受响应数据
    • 数据持久化 –> localstorage()
  • 浏览器中的JavaScript不可以做什么?

    • 不能接收请求
    • 不能操作文件 –> 其实js可以操作文件 –> 浏览器不允许,因为不安全
    • 不能操作程序
    • 不能操作数据库
  • 在开发人员能力相同的情况下变成语言的能力取决于什么?

    • 宿主的环境
    • 在浏览器中操作浏览器各种功能
    • 在服务器操作服务器各种功能
  • Chrome浏览器的实现结构
    • webkit 布局引擎:html/css 静态文件代码
    • javascript 动态效果: V8 引擎
  • node的实现结构

    • javascript 动态效果: V8 引擎
    • 对于服务器来讲,并不需要页面的渲染,所以没有了webkit
    • 浏览器中js= ecma + dom + bom

    • nodejs中的js = ecma

node启程

node简介

  • 09年推出了node 瑞恩.达尔
  • 移植了V8引擎

什么是node?

  • 解决web应用的问题,轻量、高效
  • 基于V8 JavaScript runtime –> 服务器 –> 平台:服务器,js解析代码引擎V8

node可以做什么?

  • 接收请求
  • 操作文件 –> 其实js可以操作文件 –> 浏览器不允许,因为不安全
  • 操作程序
  • 数据持久化 –> localstorage()
  • 不能操作数据库

Node.js 和 PHP 有什么区别?

  • 都是后端语言
  • php 需要依靠apache/iis/tomcat…
  • nodejs本身就是一个服务器 ,直接接收请求并且处理

谁在使用 Node

国外: 推特/Uber/google/linked in/
国内: BAT 天猫: 前后端分离 浏览器发送请求-->中间层用node来做页面的渲染,将具体请求转发 --> java服务器
970亿 成交量
pv:pageview 访问量无法估计

一些创业公司

node应用场景

  • 多人的游戏服务器
  • 基于浏览器的聊天程序
  • 开发单页面程序
  • 基于JSON支持的API

  • nodejs适合开发 IO密集 (基于网络数据的输入和输出)

  • nodejs不适合 CPU密集

如何学习 Node

  • 多练习

node.js 安装

  • 全体傻瓜式安装,下一步

体验node.js

  • node -v 查看node版本信息
  • Node 文件名 运行文件
  • 第一个node.js程序hello world
  • 第一个settimeout打印hello
  • 第一个读取文件
  • 第一个计数访问的服务器
  • 第一个自动关机的案例
面试题:JavaScript如何区分当前运行环境是node还是浏览器
  • 没有了DOM和BOM
  • 没有了document和location

    if(document){
    console.log('浏览器环境');
    }else{
    console.log('node环境');
    }

CMD路径

  • node quickStart.js 文件存在与当前的目录下,直接Node 文件名
  • 非当前目录
    • 绝对路径 node C:\Users\tujunxiong\Desktop\node02\code\03_quickStart\quickStart.js
    • 根据左边路径直接 给一个路径不全
  • WIN + R 输入CMD(非nodejs)
  • 推荐 shift + 鼠标右键 –> 选择在此处打开命令行窗口
    • ./ 和 ../相对路径 node ./quickStart.js
命令行基本命令
  • CD 进入目录 cd..进入上级目录
  • DIR 显示当前目录下的文件
  • D: 或者C: 切换盘符
  • cls 清屏 tab 补全
  • 测试IP是否联通 ping 192.168.28.128
  • 查看IP信息ipconfig /all 以太网或者无线 里面的IPV4
  • 远程连接 mstsc micro soft terminal service client
  • 查看服务 services.msc
  • 查看注册表 regedit 关于系统的配置,不建议改,(客户机器)
  • where 命令名称
  • set 查看当前命令行启动时的环境变量,如果这个里面的path有,你启动任何程序都ok
组合键的补充
  • WIN + E 我的电脑
  • WIN + D 切换显示桌面
  • WIN + R 运行
  • WIN + L 切换用户
  • WIN + tab 切换窗口
  • WIN + X 显示管理菜单
  • Ctrl + WIN + D 新建一个桌面
  • ctrl + WIN + 左右键
环境变量
  • 方式1:通过我的电脑-> 属性 –>高级–>环境变量–>系统环境变量–>path变量
  • 方式2:在系统变量中创建一个系统变量NODE_PATH 值是:目录路径,在path中加入一个%NODE_PATH%
  • 环境变量查找机制是先由当前命令行目录开始查找,然后再查找环境变量中的path变量

REPL(Read-eval-print-loop)环境操作

  • 测试代码(一些方法)

Global对象类别及作用域

  • 杠杠dirname : 显示当前文件目录的绝对路径,每个文件的值都不一样
  • 杠杠filename: 显示当前文件的绝对路径,每个文件的值都不一样
  • nodejs模块部分 规范是根据CommonJS 中的Modules规范来的
    • 在这个规范中,一个文件就是一个模块
    • CMD可能就来自于Modules1.1 的参考 seajs中模块部分和nodejs中模块部分非常相似
区分全局和伪全局对象
  • process.nextTick(function(){//1 优先级 idea 空闲观察者 底层用的是数组
  • setTimeout(function(){//2 timer观察者
  • setImmediate(function(){//3 check观察者 底层用的是链表
  • 在程序的运行中,有的对象不论在哪个模块都是一个值,而有的对象会根据模块的不同,有不同值
    • 伪全局对象 杠杠filename 杠杠dirname require、module、exports
    • 真全局对象 global process console Buffer
    • 全局对象就是我们任何时候可以直接拿来用的对象
模块作用域
  • 在模块中声明的变量都是模块作用域
  • 模块间的对象需要共享可以通过global.属性来挂载
  • 模块间需要导出对象,通过module.exports
    • 定义模块相比seajs 没有了define(….)
    • 导出对象一样、引入对象一样
nodejs中的3M安装法
  • NVM node版本管理工具 ,下载并且安装Node 切换版本
    • 既要按新版本开发,又要做老版本的维护
    • window支持,不是太好
  • NPM 下载第三方资源包(既有前端包,也有后端包)
  • NRM 切换NPM镜像源(配置私有的镜像源)
nvm基本操作
  • 安装 nvm-setup.exe
  • mac系统可以直接安装 nvm
  • nvm version 查看版本
  • nvm install [系统位数]
  • nvm uninstall [系统位数]
  • 查看当前可用版本列表 nvm list(ls) 注意:给*代表当前正在使用
  • 使用指定版本 nvm use 版本号
NODE绿色安装版
  • 下载历史版本 other downloads –》Previous Releases
  • 直接下载指定版本的msi文件
  • 安装该文件 –> 安装第二个版本的时候,会出现nodejs已经被安装,需要删除,退出
  • 将原来安装好的文件夹,改名
  • 安装新的版本
重点掌握
  • JavaScript 在node中和浏览器中的区别的理解?
  • nodejs是什么?
  • 环境变量配置的两种方式?
    • 必须掌握第二种
    • where 命令名
    • set 显示环境变量
  • 绿色版的使用
    • nvm命令:install uninstall list[ls] use 版本号
  • 全局对象中 杠杠dirname,杠杠filename
  • 对象的导出: 一对一暴露 module.expots, 一对多 global.属性名共享数据
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
校园悬赏任务平台对字典管理、论坛管理、任务资讯任务资讯公告管理、接取用户管理、任务管理、任务咨询管理、任务收藏管理、任务评价管理、任务订单管理、发布用户管理、管理员管理等进行集中化处理。经过前面自己查阅的网络知识,加上自己在学校课堂上学习的知识,决定开发系统选择小程序模式这种高效率的模式完成系统功能开发。这种模式让操作员基于浏览器的方式进行网站访问,采用的主流的Java语言这种面向对象的语言进行校园悬赏任务平台程序的开发,在数据库的选择上面,选择功能强大的Mysql数据库进行数据的存放操作。校园悬赏任务平台的开发让用户查看任务信息变得容易,让管理员高效管理任务信息。 校园悬赏任务平台具有管理员角色,用户角色,这几个操作权限。 校园悬赏任务平台针对管理员设置的功能有:添加并管理各种类型信息,管理用户账户信息,管理任务信息,管理任务资讯公告信息等内容。 校园悬赏任务平台针对用户设置的功能有:查看并修改个人信息,查看任务信息,查看任务资讯公告信息等内容。 系统登录功能是程序必不可少的功能,在登录页面必填的数据有两项,一项就是账号,另一项数据就是密码,当管理员正确填写并提交这二者数据之后,管理员就可以进入系统后台功能操作区。项目管理页面提供的功能操作有:查看任务,删除任务操作,新增任务操作,修改任务操作。任务资讯公告信息管理页面提供的功能操作有:新增任务资讯公告,修改任务资讯公告,删除任务资讯公告操作。任务资讯公告类型管理页面显示所有任务资讯公告类型,在此页面既可以让管理员添加新的任务资讯公告信息类型,也能对已有的任务资讯公告类型信息执行编辑更新,失效的任务资讯公告类型信息也能让管理员快速删除。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值