npm和跨域
npm是什么?包管理工具
作用:下载/删除/更新包
使用流程
1.初始化npm
在你的项目根目录下:npm init -y
会生成项目的配置文件:package.json
2.下载(安装)包 : npm install 包名 或者 npm install 包名@版本号
1.去npm官网搜索这个包名
2.如果可以搜索到,就会找这个包的下载地址
3.下载包的一切资源
4.生成node_modules文件夹 和 package-lock.json文件
3.使用包
模块化语法导入包
语法去官网查看
package.json:项目配置文件,记录项目信息,使用哪些包及版本node_modules:包资源文件夹,存放包所有的资源及对应的依赖包
package-lock.json:记录包的下载地址,提高包的更新速度
npm包的种类
npm包根据使用范围分为全局包和本地包
本地包又根据使用时间分为开发依赖包和生产依赖包
全局包
安装在c盘,对整个电脑生效
语法:npm install 包名 -g
本地包
安装在项目node_modules中
语法:npm install 包名
开发依赖包:包只在开发阶段使用,在上线之后不需要使用了
语法:npm i 包名 -D
生产依赖包:即在开发阶段使用,也会在上线之后使用
npm命令总结
初始化 | npm npm init -y |
下载包 | npm i 包名 |
根据package.json下载所有的包 | npm i |
切换镜源 | npm inpm config set registry=https://registry.npmmirror.com/ |
查看镜像源 | npm config list |
删除包 | npm uninstall 包名 |
下载全局包 | npm i 包名 -g |
下载开发依赖包 | npm i 包名 -D |
更新你电脑当前的 | npm npm install npm -g |
查看node安装目录 | where node |
查看npm安装目录 | where npm |
查看全局包安装路径 | npm list -g --deptch |
跨域
是什么?指 ajax地址 和 页面地址 不同源
注意:
ajax地址:跨域只会出现在ajax请求中
页面地址:location.href
同源策略
两个地址的 协议名 域名 端口号 都一致
为什么会有同源策略?
为了用户安全,如果ajax地址 与 页面地址不同源,浏览器认为你给不同的服务器发送请求,可能会遭受攻击,浏览器就拒绝接收服务器响应的数据
跨域的过程:请求发出去了,服务器也接收了,服务器也响应了,但浏览器拒绝接收服务器数据
如何解决跨域?
1.CORS res.setHeader(‘Access-Control-Allow-Origin’, ‘*’)
2.jsonp技术
3.代理服务器