node

node

dos命令行

1:ipconfig 查看本机的ip信息

2:ipconfig /all 查看本机ip信息

3:cls 清屏

4:exit 退出

5:D:  直接进入指定磁盘目录

6:dir 查看当前位置下的所有目录文件

7:cd 文件夹名字(不要是中文)   进入到指定的文件夹

8:cd ../ 返回上级目录

9:cd ./ 返回当前目录

10:cd / 返回根目录

11:ls -al查看所有文件

12:mkdir 创建一个目录

13:touch 创建文件例如(touch .index.txt)

14:echo 编辑文件内容

写法(echo 编辑的内容 >index.txt)

(echo 编辑的内容 >>index.txt)一个大于是写入 两个大于号是追加内容

15:cat 查看某个文件的内容

16:rm -rf 文件名  删除文件名

17:vi 文件名 调出vim编辑器

i/o/u 任意一个进入插入编辑状态 esc退出编辑状态  shift+: 进入插入编辑    q不保存并退出 q!强制退出 wq保存并退出

webostrom中打开命令行

view->Tool windows ->terminal z 在当前目录下打开命令行

https:安全传输协议

http:传输协议

ftp

域名

port:端口号 一个ip有0-65535个端口号

path:路径

sechme:主机名 port/path?问号传参

qur

npm

node  支持 es6 let const 服务端没有兼容性

node 全局对象global

npm init  当前文件名 不能是 中文 不能是大写 不要有特殊符号

npm install 包名 --save / --save-dev

--save 保存到 package.json 的dependencies 属性里

--save-dev 保存到 package.json 的devDependencies 属性里

当前项目依赖包 安装到哪个文件夹

npm root

···

想要在网页打开你本地的文件,输入這个

npm install http-server -g

使用在当前目录下,打开命令行 输入以下命令即可

http-server (默认是8080端口号 -p )就能在网页看到目录

全局安装

npm install package -g

npm root -g

mime类型

mime.lookup(pathname)检测他的类型

mime类型

html text/html

js application/javascript

css text/css

文档 text/plain

jpg  image/jpg

jpeg image/jpeg

png  image/png

form application/x-www-form-urlencoded

node

node 一个运行环境,让js可以在服务端运行 浏览器客户端js 是不可以操作本地系统

node 提供了很多操作系统api

异步非阻塞 i/o 读写 输入和输出端口

可以同步也可以异步

自带模块化 common js 规范 require js amd规范 sea.js

运行js

运行js文件 可以打开命令行 node

(文件名)就可以

run

运行js

GET系列和POST系列的区别

> GET系列和POST系列的区别:

> 缓存问题:

> 1:get有缓存问题 解决方案在url?_=随机数/时间戳

> URL末尾追加随机数的方式清除缓存: xhr.open('get','/temp?id=12&_='+Math.random())/时间戳(new Date().getTime())

> 2:post没有缓存问题

> 传输数据大小

> 1:get 需要将发送给后端的数据拼接到url?name=liwenli&id=1  URL的长度是有限制的(谷歌8KB、火狐7KB、IE2KB)如果传递的内容比较的多,URL会很长,超出的部分,浏览器会截取。

> 2:post 通过请求体  xhr.send(JSON.stringify(data))没有大小限制

> 安全问题

> 1:get是通过问号传参传递信息的,很容易被url劫持,导致信息的泄露或者恶意修改等

> 2:post 比较安全

> GET主要应用于给服务器的少,从服务器获取的多,例如:获取服务器上的数据进行展示和数据绑定...

> POST主要应用于给服务器的多,从服务器获取的少,例如:用户注册...

模块

模块分为:内置模块、自定义模块、第三方模块

node自带模块化 commonjs 规范

require() 引入模块

module.exports 导处模块

requirejs amd 规范 sea.js

内置模块: 搭建server的内置模块 例如:http fs url 。。

自定义模块:我们自己创建的模块,引入的时候需要引进正确的路径

第三方模块:我们用npm下载的文件引入进去  例如:require('vue') 引入node_moudele  里面的vue

引入导出模块

require() // 引入模块

module.exports // 导出模块   (先把文件引入进来,在引入文件里面的模块)

requirejs amd 规范 sea.js

fs.exists() 根据路径判断文件是否存在

批量导出

a:

> module.exports.sum=sum--导出模块,

> 批量导出 module.exports={  sum:sum  ,age:age}

> exports.name=sum exports无法进行批量设置,因为他们不在module一个空间地址里面

> exports 不能批量导出

b:let obj= requiret('./a.js'); 引入這个模块

同步异步读取文件

异步的有回掉函数 readFile  没有返回值

同步是返回值 var result=fs.readFileSyn('.index/html')

readFileSync 同步读取文件

readFile 异步读取文件

@param1:err错误信息,如果读取成功就是null

@param2:result  结果

let resHTML=fs.readFile('./index.html','utf-8',function(err,result){

if(erro){

有错误信息,输入错误信息

console.log(erro)

}else{

没有错误信息就输出null,输出结果

console.log(result)

}

})

同步判断

异步判断是一个回调函数

fs.exists('./index5.html', function (result) {

console.log(result);

});

fs.exists() 根据路径判断文件是否存在

异步判断

同步判断 有返回值 flag

let flag=fs.existsSync('.'+pathname);检测文件是否存在,存在的话返回true

fs.existsSync('./index5.html');

写入weiteFile 异步写入

@param1: 文件路径

@param2:写入的内容

@param3:options

{

encoding:'utf8'最后一个参数是這个

flag:'w'默认参数w写入,并将原有覆盖 a 追加

}

async callBack 异步是回掉函数

写入内容到data.txt

fs.writeFile('./data.txt','hello nodejs',{flag:'a'}function(erro){

console.log(erro) 如果输出的是null 说明写入成功 如果输出错误,那就有问题

})

weiteFileSync同步写入

let resData=fs.readFileSync('./data2.text')

fs.weiteFileSync('data.txt',resData)

把data2的内容写投入到'data.txt'里面

写入的内容(JSON.steingify(obj)) 是字符串格式/buffer格式

表单

action 提交到哪里接口

method get 或者post请求

表单内元素 需要设置name属性

onsumit="return false"  阻止表单默认提交行为

post端口请求

检验是哪个请求 mothod

let str = '';

// 接收请求体内容

req.on('data',

function (data)

{

str += data;

}

);

// 接收完毕后 触发

req.on('end',

function ()

{

res.end(str);

得到字符串格式

letobj=JSON.parse(str)

json格式的字符转化为json格式的对象

}

);

get接口请求

res.setHeader('Content-Type','text/html;charset:utf-8');

res.end(JSON.stringify(query)) 参数在页面返回json字符串

项目跑起来

首先你要在项目目录下npm install gulp -g

然后再npm install

最后npm run start/npm start,端口监听成功

jsonp

跨域

> 协议 域名 端口 三者一致

> 同源策略限制 XMLHttpRequers请求

> img script 不存在跨域

> 利用script标签不存在跨域,我们给src属性url地址,只要能找到就会将js引入进来

我们把请求的url地址设为script标签src属性,并且和后台定义一个字段,将我们全局中的函数名传给后台cb=callBack

> jsnp跨域只支持get请求

> jsonp:'cb';cb=callBack

>     jsonpCallback:'',//制定jsonp回掉函数的名称      value名字

>     重写jsonp url请求种,回掉函数名

> 后台默认是一个函数callback

跨域解决常用

> jsonp 利用script 的src

> cors 跨域

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容

  • Node.js是目前非常火热的技术,但是它的诞生经历却很奇特。 众所周知,在Netscape设计出JavaScri...
    w_zhuan阅读 3,607评论 2 41
  • 个人入门学习用笔记、不过多作为参考依据。如有错误欢迎斧正 目录 简书好像不支持锚点、复制搜索(反正也是写给我自己看...
    kirito_song阅读 2,448评论 1 37
  • Node.js是目前非常火热的技术,但是它的诞生经历却很奇特。 众所周知,在Netscape设计出JavaScri...
    Myselfyan阅读 4,062评论 2 58
  • topics: 1.The Node.js philosophy 2.The reactor pattern 3....
    宫若石阅读 1,052评论 0 1
  • 1.基础 在互联网中,终端与终端之间的交互都必须通过协议进行的,就像我们使用浏览器上网,使用的是HTTP协议或HH...
    LinM1993阅读 555评论 0 1