三阶段day1

1、动态网页 和 静态网页
动态网页:数据可以进行交互 动态改变数据



2、node
node是基于chrome的V8引擎的Javscript运行环境
node中的事件机制以及非阻塞式的I/O式模型 使其轻量又高效
node中的npm 是全球最大的包管理器 (全球最大的垃圾网站)
I:input
o:output



3、v8引擎
浏览器内核
引擎
渲染引擎
脚本引擎



4、node中是没有DOM 和BOM的概念的



5、node的版本
LTS 稳定版本
10.15.2
第一个 大版本号
第二个 小版本号
第三个 补丁



1.0.0




6、nodeJS和 浏览器中的JAVAscript 有什么不同?
①在node中没有DOM和BOM的概念 因此不会涉及到兼容
②node中的global process这些属性都是浏览器没有的
③node可以用来搭建服务器 数据库
④node可以用来调用底层的API 可以做文件的读写等操作
7、node优点
优点:高效 速度快 适合做高并发的项目
缺点:不适合做大量计算的项目
8、node的交互模式
node 回车进入交互模式
退出:
ctrl+c 2次
或者 ctrl+d 一次



9、node如何运行js文件



10、模块化
requireJs     seaJS       CommonJS      ES6 module
   异步           异步             同步                  同步




AMD            CMD           common             import



模块化规范?
如何导出模块 如何接收模块
 
define定义  return导出   require接收(requireJs )
 
module.exports 导出   require 导入(commonJS)
 

export default 导出    import 导入 (ES6 module)

 

11、node中的模块分为以下三种
①核心模块
②自定义模块
③第三方模块




12、
npm
cnpm install package.json依赖安装

cnpm install <包名> -g 全局安装

cnpm install <包名> --save-dev 局部安装 cnpm i <包名> -S

cnpm uninstall <包名> 卸载

cnpm update <包名> 更新

cnpm clear cache 清除缓存



13、
①npm init 创建node的包 保证包名全网唯一
②npm login
③npm publish 上传  上传到npm官网



14、yarn
①缓存
②异步

cnpm install jquery qs url -S(加载jquery qs url为同步:按顺序执行)

yarn add jquery qs url(加载jquery qs url为异步:同时分开执行)



cnpm install yarn -g   全局安装

yarn install === cnpm install   package.json依赖安装

yarn add <包名> === cnpm install <包名> -S 局部安装

yarn add <包名> --dev == cnpm install <包名> --save-dev 局部安装

yarn upgrade <包名> 更新

yarn remove <包名> 删除

//引入http模块  node的核心模块
const http = require("http");

/*
    //商场
   const server =  http.createServer()  创建服务器

    //端口号
    server.listen(9000)



    用户说:"商店里面有没有澡巾"
    url:"http://ww.baidu.com/data"

    人民币
    get post

    绿色  多大号的
    headers:{
        "content-type":"application/json"{name:val,pass:val}
                      "application/x-www-form-urlencoded"  表单序列化
                        name=val&pass=val

                        "{'name':'zhangsan','age':19}"
    }





    回复
        res.end() + res.write  最后的回复
        res.write();   响应

        content-tyepe



    1、报文  http  https

    写一篇文字
*/
http.createServer((req,res)=>{

    console.log(req.headers)
   /*
    req:request
        req.url  请求的地址
        req.method  请求的方式
        req.headers  请求头
        req.body 接收post传递的参数
        req.query  接收get传递过来的参数
        req.request()  接收任意方式传递过来的数据



    res:response
        res.write()  回复响应信息  可以调用很多次
        res.end()   回复响应信息 做结尾  只能调用一次
        res.statusCode 设置状态码
        res.setheader() 设置响应头
        res.writeHead(); statusCode 与setHeader的综合写法  第一次参数是状态码 第二次参数是响应头的类型
   */

    //res.statusCode = 200;
    //res.setHeader("content-type","text/plain");
    res.writeHead(200,{"content-type":"text/plain;charset=utf8"});
    res.write("1111");
    res.write("2222");
    res.end("你好");


}).listen(9000)
//提示信息
console.log("http://localhost:9000")


/*
    响应头的类型有哪些?
        text/plain   文本类型

        text/html   html类型
        text/css     css类型
        application/x-javascript  js类型

        application/json json类型

        application/xml  xml类型

        image/png   jpg  gif

*/

moduleA.js

const moduleA = require("./moduleB");
const cheerio = require("cheerio");

console.log(moduleA._name);
console.log(moduleA.fn("哈哈"))

moduleB.js

let _name = "张三";
let fn = (name)=>{
    console.log(name);
}


module.exports = {
    _name,
    fn
}

猜你喜欢

转载自www.cnblogs.com/cqdd/p/10481098.html
今日推荐