node
文章平均质量分 54
肖ZE
这个作者很懒,什么都没留下…
展开
-
(import)export default 和 export ——(require)module.exports 和 exports
export default 和 exportvue 中模块暴露数据的方法export default可以使用自己默认定义的命名,优雅好看,但是单个文件只可默认暴露一次数据fun.jslet a = { name: 'bob'}export default amain.jsimport obj from './fun'console.log(obj)// {name:...原创 2019-04-02 11:08:04 · 360 阅读 · 0 评论 -
node——29-token (使用 JsonWebToken)
JsonWebToken安装:cnpm i -S jsonwebtoken引入:let jwt = require('jsonwebtoken');使用:Signing a token with 1 hour of expiration:jwt.sign({ exp: Math.floor(Date.now() / 1000) + (60 * 60), data: 'fo...原创 2019-03-07 12:42:02 · 255 阅读 · 0 评论 -
node——26-目录结构、blog 小案例、pm2
文件名说明app.js项目入口文件controllersmodels存储使用 mongoose 设计的数据模型node_modules第三方包package.json包描述文件package-lock.json第三方包版本锁定文件(npm5 以后才有)public公共静态资源README.md项目说明文档route...原创 2019-03-04 16:44:39 · 118 阅读 · 0 评论 -
node——25-node 中的 Session
在 Express 这个框架中,默认不支持 Session 和 Cookie但是可以使用第三方中间件:express-session 来解决安装cnpm i -S express-session配置app.use(session({ // 配置加密字符串,它会在原有加密基础上和这个字符串拼起来去加密 // 目的是为了增加安全性,防止客户端恶意伪造 secret:...原创 2019-03-04 15:42:19 · 211 阅读 · 0 评论 -
node——24-利用 async/await 来处理异步
原理Async functions让我们先从async关键字说起,它被放置在一个函数前面。就像下面这样:async function f() { return 1}函数前面的async一词意味着一个简单的事情:这个函数总是返回一个promise,如果代码中有return <非promise>语句,JavaScript 会自动把返回的这个 value 值包装成 pro...原创 2019-03-04 14:35:56 · 1022 阅读 · 0 评论 -
node——23-md5 对密码进行加密
md5 安装:npm i -S blueimp-md5引入:var md5 = require('blueimp-md5');使用:var body = req.body;// 对密码进行 md5 重复加密body.password=md5(md5(body.password));原创 2019-03-04 13:57:00 · 324 阅读 · 0 评论 -
node——18-express 获取 post 或 get 请求数据
get 请求数据:(req.query)在 Express 中可以直接 req.query 来获取查询字符串的参数返回对象数据(如:{ foo: ‘fun’ })注意:req.query 只能拿到 get 请求app.get('/about', function (req, res) { console.log(req.query);// // { name: 'name', ...原创 2019-02-27 13:46:48 · 2912 阅读 · 0 评论 -
node——28-解决跨域问题
全局 app.js 中配置:app.all('*', (req, res, next) => { res.header('Access-Control-Allow-Credentials', 'true'); res.header('Access-Control-Allow-Origin', req.headers.origin); res.header('Acce...原创 2019-03-06 11:19:44 · 222 阅读 · 0 评论 -
node——17-在 Express 中配置使用 art-template
安装:配置:使用:原创 2019-02-26 22:41:23 · 700 阅读 · 2 评论 -
node——30-multer 文件上传
基本使用方法:var express = require('express')var multer = require('multer')var upload = multer({ dest: 'uploads/' })var app = express()app.post('/profile', upload.single('avatar'), function (req, re...原创 2019-03-08 11:06:40 · 237 阅读 · 0 评论 -
node——Express 应用生成器(补加 koa)
安装npm install express-generator -g // 安装后我们就能使用express命令了生成EJS项目express -v ejs 项目名 // 会以项目名创建一个文件夹,项目文件放到文件夹里面express -v ejs // 把项目文件放在当前文件夹(当前文件夹非空会有警告)注:ejs表示使用ejs模板,默认是jade安装依赖np...原创 2019-03-13 16:40:36 · 156 阅读 · 0 评论 -
node——模块拆分:路由 - router 控制器 - controller
const http = require('http')const PORT = 3001// 控制器const controller = { index (req, res) { res.end('this is index page') }, home (req, res) { res.end('this is home page') }, _404...原创 2019-05-30 09:45:54 · 956 阅读 · 0 评论 -
原生 js + node 封装 WebSocket
jsclass Socket { constructor(url) { this.socket = new WebSocket(url) } send(msg) { console.log(msg); if (this.socket.readyState === 1) { this.socket....原创 2019-08-03 15:12:54 · 853 阅读 · 0 评论 -
原生 ajax + node 实现 post / get
ajaxfunction ajax({ method, url, data }) { let req = method.toUpperCase() return new Promise(resolve => { const xhr = new XMLHttpRequest() if (req === 'POST') { ...原创 2019-08-05 18:01:59 · 159 阅读 · 0 评论 -
node——进程 process
process 对象是一个全局变量,它提供有关当前 Node.js 进程的信息并对其进行控制。 作为一个全局变量,它始终可供 Node.js 应用程序使用,无需使用 require()process 对象是 EventEmitter 的实例'exit' 事件一旦所有 ‘exit’ 事件的监听器都已完成运行时,Node.js 进程将终止使用 process.exitCode 属性指定的...原创 2019-08-29 12:07:08 · 485 阅读 · 0 评论 -
node——分段上传大文件
前端页面<body> <input type="file" id=file> <!-- 进度条 --> <div id='pro'></div> <script> let [file, pro] = [document.getElementById('file'), docu...原创 2019-08-16 22:08:22 · 1160 阅读 · 0 评论 -
node——多进程
node 官网const cluster = require('cluster');const http = require('http');const numCPUs = require('os').cpus().length;if (cluster.isMaster) { console.log(`Master ${process.pid} is running`); //...原创 2019-08-13 20:39:42 · 195 阅读 · 1 评论 -
node——原生header
首先引入http模块获取http.ServerResponse对象的方式,1.http.createServer(function(req,res){}) 其中res是http.ServerResponse对象2.var server = http.createServer().listen(9332,'localhost')server.on('request',function(req...转载 2019-08-03 11:30:45 · 942 阅读 · 0 评论 -
node——发布/订阅
发布/订阅const events = require('events');const {inherits} = require('util');const fn = function(msg){ console.log(msg)}class News{}let news = new News();inherits(News,events.EventEmitter) /...原创 2019-05-30 08:11:18 · 376 阅读 · 0 评论 -
node——使用Nginx + Node.js部署你的网站
转自:https://www.jianshu.com/p/717f2b88d057Nginx是一个高性能的HTTP和反向代理服务器(反向代理就是通常所说的web服务器加速,它是一种通过在繁忙的web服务器和internet之间增加一个高速的web缓冲服务器来降低实际的web服务器的负载),Nginx由俄罗斯程序员利用C语言开发,以稳定、低系统资源消耗闻名,腾讯、百度、阿里、京东、网易等均有部署使...转载 2019-05-30 17:10:31 · 29996 阅读 · 0 评论 -
node——16-分离 router.js 、分离公共方法(例如:student.js) 和 static-server 静态资源
router.js// 链式编程app .get('/', function () { }) .post('/',function () { }) .get('/about', function () { });static-server 静态资源:当以 /public/ 开头的时候,访问路径去 ./public/ 目...原创 2019-02-26 20:25:14 · 342 阅读 · 0 评论 -
node——15-修改完代码自动重启
nodemon :是一个基于 node.js 开发的一个第三方命名行工具,使用的时候需要独立全局安装npm install -g nodemon安装完毕之后,使用:# 使用 nodemon app.js 代替 node app.jsnodemon app.js只要是通过 nodemon app.js 启动的服务,则它会监视你的文件变化,当文件发生变化的时候,自动帮你重启服务器...原创 2019-02-26 14:31:35 · 228 阅读 · 0 评论 -
node——1-node 的初始化 及 文件读写
node 初始化(helloworld)新建 helloworld.js 文件,内容如下:var foo = 'hello world!';console.log(foo);// 在 node 中,采用 EcmaScript 进行编码// 没有 BOM、DOM,和浏览器中的 JavaScript 不一样// 下面会报错console.log(window);console.lo...原创 2018-11-05 17:17:55 · 744 阅读 · 0 评论 -
node——10-服务端渲染和客户端渲染的区别
客户端渲染不利于 SEO 搜索引擎优化服务端渲染是可以被爬虫抓取到的,客户端异步渲染是很难被爬虫抓取到的所以你会发现真正的网站既不是纯异步也不是纯服务端渲染出来的而是两者结合来做的例如京东商品列表是采用的服务端渲染,目的是为了 SEO 搜索引擎优化而它的商品评论列表为了用户体验,不需要 SEO 优化,所以采用客户端异步渲染客户端渲染:服务端渲染:...原创 2018-11-10 20:41:29 · 480 阅读 · 0 评论 -
node——9-node 中用模板引擎
在 node 中使用 art-template 模板引擎,模板引擎最早就是诞生于服务器邻域,后来才发展到了前端安装:cnpm i art-template在需要使用的文件模板中加载 art-template只需要使用 require 方法加载就可以了:require(‘art-template’)参数中的 art-template 就是你下载的包的名字查文档,使用模板引擎的 API...原创 2018-11-10 19:02:54 · 616 阅读 · 0 评论 -
node——5-ip地址 和 端口号 的概念
所有联网的程序都需要进行网络通信计算机中只有一个物理网卡,而且同一个局域网中,网卡的地址必须是唯一的。网卡是通过唯一的 ip 地址来进行定位的。IP 地址用来定位计算机端口号用来定位具体的应用程序(所有需要联网通信的软件都必须具有端口号)...原创 2018-11-07 14:43:03 · 190 阅读 · 0 评论 -
node——4-node 中的 js
支持 EcmaScript区别:没有 DOM、BOM核心模块第三方模块用户自定义模块核心模块Node 为 JavaScript 提供了很多服务器级别的 API,这些 API 绝大多数都被包装到了一个具名的核心模块中了例如:文件操作的 fs 核心模块,http 服务构建的 http 模块,path 路径操作模块,os 操作系统信息模块。。。模块加载:var fs = req...原创 2018-11-07 13:23:13 · 160 阅读 · 0 评论 -
node——8-node.js 实现 apache 功能
初步实现 apache 功能var http = require('http');var fs = require('fs');// 任意目录地址var wwwDir = 'E:/desk/my-pro/QD-practice/node/2/www';// 1. 创建 Servervar server = http.createServer();// 2. 监听 Server ...原创 2018-11-09 22:05:29 · 1186 阅读 · 0 评论 -
node——3-根据不同请求路径返回不同数据
var http = require('http');// 1.创建 Servervar server = http.createServer();// 2.监听 request 请求事件,设置请求处理函数server.on('request', function (req, res) { console.log('收到请求了,请求路径是:' + req.url); ...原创 2018-11-06 21:21:51 · 839 阅读 · 0 评论 -
node——2-最简单的 HTTP 请求 以及 response 响应对象
最简单的 HTTP 请求可以使用 Node 非常轻松的构建一个 web 服务器在 Node 中专门提供了一个核心模块:httphttp 这个模块的职责就是帮你创建编写服务器的加载 http 核心模块var http = require('http');使用 http.createServer() 方法创建一个 web 服务器返回一个 Server 实例var server ...原创 2018-11-06 18:31:10 · 3723 阅读 · 0 评论 -
node——11-url.parse 以及 留言板实例
官网:url.parsevar url = require('url');var obj = url.parse('/pinglun?name=呵呵呵&amp;amp;message=呵呵哈哈哈');console.log(obj);带 true 参数var url = require('url');var obj = url.parse('/pinglun?name=呵呵呵&amp;amp...原创 2018-11-11 13:43:29 · 202 阅读 · 0 评论 -
node——6-响应数据类型 Content-Type(解决中文乱码)
在服务端默认发送的数据,其实是 utf-8 编码的内容,但是浏览器不知道你是 utf-8 编码的内容浏览器在不知道服务器响应内容的编码的情况下会按照当前操作系统的默认编码去解析中文操作系统默认解析是 gbk解决方法就是正确的告诉浏览器发送的编码格式,在 http 协议中,Content-Type 就是用来告诉对方发送数据内容的类型let http = require('http');...原创 2018-11-08 21:35:24 · 5284 阅读 · 0 评论 -
node——7-第一次总结
总结Node 中的 JavaScriptEcmaScript变量方法数据类型内置对象ArrayObjectDateMath模块系统在 Node 中没有全局作用域的概念在 Node 中,只能通过 require 方法来加载执行多个 JavaScript 脚本文件require 加载只能是执行其中的代码,文件与文件之间由于是模块作用域,所以不会有污染的问题模...原创 2018-11-08 21:51:51 · 156 阅读 · 0 评论 -
node——27-Express 中间件
middleware中间件本身是一个方法,该方法接收三个参数:Request 请求对象Response 响应对象next 下一个中间件(当一个请求进入中间件后,如果不调用 next 则会终止在当前中间件,next 是一个方法,用来调用下一个中间件)// 公共配置服务var express = require('express');var app = express();app...原创 2019-03-05 14:14:15 · 161 阅读 · 0 评论 -
node——14-express 安装及初试
官网:express初始化:npm init -y安装:npm i -S express引包:var express = require('express');// 1. 引包var express = require('express');// 2. 创建你的服务器应用程序(也就是原来的 http.createServer)var app = express();// ...原创 2019-02-25 19:57:50 · 1055 阅读 · 0 评论 -
node——22-MySQL
安装:npm i -S mysql使用:var mysql = require('mysql');// 1. 创建连接var connection = mysql.createConnection({ host: 'localhost', user: 'root', password: '123456', database: 'mysql-demo1'...原创 2019-03-01 17:02:45 · 104 阅读 · 0 评论 -
node——21-mongoose 增删改查 和 Schema 类型及定义例子
var mongoose = require('mongoose');var Schema = mongoose.Schema;// 1. 连接数据库// 指定连接的数据库不需要存在,当你插入一条数据之后就会自动被创建出来mongoose.connect('mongodb://localhost/myDb');// 2. 设计集合结构(表结构)// 字段名称就是表结构中的属性名称...原创 2019-03-01 15:22:35 · 846 阅读 · 0 评论 -
node——13-require 加载规则
为了避免重复加载,提高模块加载效率,会优先从缓存加载,由于在 a 中已经加载 b 了,所以此时 require('./b'); 并不会重复执行里面的代码,仅可以拿到里面的接口对象,如下require(’模块标识符’);模块标识符:核心模块(模块名)核心模块的本质是文件,只是已经被编译到了 node 二进制文件中例如:require('fs'); require('http');...原创 2019-02-25 15:59:54 · 219 阅读 · 0 评论 -
node——20-MongoDB
关系型数据库 和 非关系型数据库(MongoDB)关系型数据库表就是关系,或者说表与表之间存在关系都需要通过 sql 语言来操作在操作之前都需要设计表结构而且数据表还支持约束唯一的主键默认值非空非关系型数据库非常灵活,就是 key-value 对儿MongoDB 是长的最像关系型数据库的非关系型数据库数据库:数据库数据表:集合(数组)表记录:(文档对象)...原创 2019-02-28 17:44:24 · 174 阅读 · 0 评论 -
node——19-node 结合 express 实际小案例(学生信息增删改查、用户评论反馈、网页爬虫)
node 编写的步骤:(以学生信息增删改查为例)处理模板配置开放静态资源配置模板引擎简单路由:/students 渲染静态页面出来路由设计提取路由模块由于接下来一系列的业务操作都需要处理文件数据,所有需要封装 student.js先写好 student.js 文件结构查询所有学生列表的 API findfindByIdsaveupdateByIddeleteById...原创 2019-02-28 10:37:08 · 202 阅读 · 0 评论