NodeJS

简介

Node.js 就是运行在服务端的 JavaScript, 是一个基于 Chrome JavaScript 运行时建立的一个平台

Node.js 是一个事件驱动 I/O 服务端 JavaScript 环境,基于 Google 的 V8 引擎,V8 引擎执行 Javascript 的速度非常快,性能非常好

 

前端开发的时候也需要有一个自己的服务器,这里我们选择node.js

 

nvm

nvm即(node version manager),好处是方便切换node.js版本

安装注意事项

设置国内镜像地址

 

查看可用node版本

 

切换node版本(需要管理员权限)

 

 

npm

npm是js的包管理器,类似于java的maven,要确保它使用的是国内镜像

检查镜像

如果返回的不是https://registry.npm.taobao.org/,需要做如下设置

 

 

搭建简单服务

新建一个项目文件夹,当前目录下cmd执行npm指令,添加一个依赖,这里使用express框架

VScode打开控制台快捷键ctrl+shift+`

 

package.json文件

类似于java中的pom.xml文件

 

启动服务器

编写启动express服务器的代码,这里我们选用VSCode编辑器开发

修改package.json文件,添加module支持import语法

 

编写main.js代码

执行js代码(运行前端服务器),在工程目录下启动

 

指定静态资源

这里指定当前目录为静态资源目录

 

在当前目录创建一个index.html文件,进行前端服务器测试

 

JS中的API

通过选择器查找单个元素

querySelector('.col')通过类col查找单个元素

通过选择器查找多个元素

querySelectorAll('.col')通过类col查找到多个元素

 

通过template标签生成学生列表

 

js动态生成

importNode函数 用于复制元素

 

Fetch API

Fetch API 可以用来获取远程数据,它有两种方式接收结果,同步方式和异步方式

格式:

同步方式

代码示例:

 

异步方式

代码示例:

 

跨域访问问题

Fetch访问后端资源,使用请求头的方式解决跨域问题

 

这里区别于之前访问前端服务器资源,会发生跨域访问问题

只要协议、主机、端口号之一不同,就不同源

 

后端加上@CrossOrigin注解

同源检查时浏览器的行为,而且只针对fetch、xhr请求

  • 如果是其它客户端,例如java http client,postman,它们是不会做同源检查的
  • 通过表单提交,浏览器直接输入url地址这些方式发送的请求,也不会做同源检查

 


 

使用代理服务器解决跨域访问问题

一般通过/api/前缀来区分是代理请求还是直接请求

代理服务器中会通过JavaSript的Api向后端服务器发起请求获取数据

这里不使用浏览器的API直接访问tomcat服务器,相当于把请求全部发送给前端express服务器,通过前端服务器的jsAPI发起请求向后端服务器请求数据,这样就不会发生浏览器的跨域访问问题

 

安装代理服务器插件

注意需要在工程目录下运行cmd

在express 服务器启动代码中加入

如果当实际需要请求的路径里面没有”/api“时. 就需要 pathRewrite,用’’^/api’’:’’, 把’/api’去掉

 

 

JS模块的导入和导出

import必须遵循同源策略,src引用js的方式可以不同源

单个导出

export 需要导出的数据

 

一齐导出

 

 

导入

需要在script元素中添加type属性为module

import 需要导入的数据 from 'js文件路径'

 

导出默认

默认导入

整体导入