当前位置:   article > 正文

Node-导入导出/npm/包/Express - 框架/同源策略/解决跨域_npm时候ecmascript导入

npm时候ecmascript导入

一.什么是模块化?

概念:项目是由很多个模块文件组成的
好处:提高代码复用性,按需加载,独立作用域

二.CommonJS 标准

使用:

导出:module.exports = { }

导入:require(‘模块名或路径’)

三.ECMAScript 标准 - 默认导出和导入

默认标准使用:
导出:export default {}
导入:import 变量名 from ‘模块名或路径’

注意:

Node.js 默认支持 CommonJS 标准语法
如需使用 ECMAScript 标准语法,在运行模块所在文件夹新建 package.json 文件,并设置 { “type” : “module” }

四.ECMAScript 标准 - 命名导出和导入

命名标准使用:
导出:export 修饰定义语句
导入:import { 同名变量 } from '模块名或路径‘

五.包的概念

包:将模块,代码,其他资料聚合成一个文件夹

包分类:
项目包:主要用于编写项目和业务逻辑
软件包:封装工具和方法进行使用

要求:根目录中,必须有 package.json 文件(记录包的清单信息)
注意:导入软件包时,引入的默认是 index.js 模块文件 / main 属性指定的模块文件

六.npm - 软件包管理器(Node.js的)

使用:
初始化清单文件 :npm init -y ( 得到 package.json 文件,有则略过此命令)
下载软件包 :npm i 软件包名称
使用软件包

npm - 安装所有依赖

项目终端输入命令:npm i

下载 package.json 中记录的所有软件包

npm - 全局软件包 nodemon

软件包区别:
本地软件包:当前项目内使用,封装属性和方法,存在于 node_modules
全局软件包:本机所有项目使用,封装命令和工具,存在于系统设置的位置

nodemon 作用:替代 node 命令,检测代码更改,自动重启程序
使用:
安装:npm i nodemon -g(-g 代表安装到全局环境中)
运行:nodemon 待执行的目标 js 文件

npm uni 软件包名 删除软件包

七.Express - 框架

概念:使用 express 本地软件包,快速搭建 Web 服务(基于 http 模块)

功能:
提供数据接口
提供网页资源等

使用:
1.下载 express 软件包
2.导入 express 创建 Web 服务对象

const express = require(‘express’)
const server = express()

3.监听请求方法和请求路径

server.get(‘/’, (req, res) => { res.send(‘你好世界!’) //响应结果,自动设置响应头 })

4.对其他请求方法和请求路径,默认返回 404 提示

server.get(‘*’, (req, res) => { res.status(404) res.send(‘你要访问的资源路径不存在’) })

5.监听端口号,启动 Web 服务,在浏览器请求测试

server.listen(3000, () => { console.log(‘Web服务已启动’) })

八.浏览器的同源策略

同源:网页加载时所在源,和 AJAX 请求时的源(协议,域名,端口号)全部相同即为同源
作用:保护浏览器中网站的安全,限制 AJAX 只能向同源 URL 发起请求

跨域:从一个源的文档/脚本,加载另一个源的资源就产生了跨域
例如:网页所在源和 AJAX 访问的源(协议,域名,端口)有一个不同,就发生了跨域访问,请求响应是失败的

跨域问题 - 解决方案1 - CORS

步骤:
1.下载 cors 本地软件包
2.导入 cors 函数

const cors = require(‘cors’)

3.使用 server.use() 给 Web 服务添加插件功能

server.use(cors())

4.把 cors 函数调用传入给 Web 服务,启动测试

跨域问题 - 解决方案2 - 同源访问

做法:让后端 Web 服务既可以提供数据接口,也可以返回网页资源

server.use(express.static(‘./public’))

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/611372
推荐阅读
相关标签
  

闽ICP备14008679号