
Nodejs
chen__cheng
1.1的n次方
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
nodejs中使用ES6的import / export
(node9以前)nodeJs虽然可以实现99%的ES6的新特性,但是在NodeJs中使用ES6的import/export仍然有一定的困难.虽然不能直接使用,但是可以间接使用.使用转换器babel安装npm包-babel,使用babel将js文件编译成nodejs支持的commonJs格式的代码.下载-babel包:npm install babel-register babel-preset-env -D接着可以使用命令运行含有import/export语句的js文件babel-nod原创 2021-06-28 17:28:43 · 3267 阅读 · 6 评论 -
express中间件原理(app.use())
app.use1.什么是中间件2.express中的中间件3.总结1.什么是中间件中间件就是一个请求处理方法,用其把用户从请求到响应的整个过程分发到多个中间件去处理,这样做的目的是提高代码的灵活性,动态可扩展的。简单的理解就是:将收到的请求进行逐层过滤。2.express中的中间件请求处理的过程是:当服务器接收到请求之后,如果服务器写了多个中间件,则按照顺序依次匹配,直到匹配到符合要求的中间件,然后进行处理。需要注意的是:同一个请求所经过的中间件都是同一个请求对象和响应对象中间件分类:应用程原创 2021-03-22 12:13:19 · 958 阅读 · 0 评论 -
express中使用session和cookie
cookie和session的工作机制:由于cookie保存在客户端,不能存放敏感信息,而session保存于服务器端,可用于存放敏感信息。比如对用户登录状态的保存。但是http是无状态的,session如何保存用户登录状态呢,当用户登录成功之后,服务器端会将用户信息对应于一个session数据,并将获取这个session数据的钥匙发送给客户端,而这个钥匙在客户端的保存形式是保存在cookie中,用户再次访问当前网站的其他网页的时候,将cookie信息一起发送给服务器,当服务器收到cookie中保存的钥匙原创 2021-03-22 09:29:24 · 404 阅读 · 0 评论 -
artTemplate模板继承和子模板
子模板语法:{{ include './header.html' }};// 其中'./header.html'是相对于当前文件位置的文件应用:# layout.html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body>{{ inclu..原创 2021-03-21 16:56:07 · 679 阅读 · 0 评论 -
浅谈nodejs文件操作中的相对路径问题
1.文件操作中的./xx相对路径问题查看以下场景:# /js/foo/a.txthello World# /js/foo/index.jsconst fs = require('fs');fs.readFile('./a.txt',(err,data) => { if (err) { console.log('error'); } else { console.log(data.toString()); }})在/js目录下执行node foo/inde原创 2021-03-20 18:03:18 · 2151 阅读 · 0 评论 -
promise封装ajax
// 采用promise封装ajax function pGet (url) { return new Promise(function (resolve, reject) { let oReq = new XMLHttpRequest() oReq.onload = function () { resolve(JSON.parse(oReq.responseText));原创 2021-03-18 16:28:49 · 91 阅读 · 0 评论 -
promise基本使用
1.回调地狱callback hell由于异步操作是不能保证顺序的,但是有些异步操作之间是具有一定的关联性的,因此采用不断嵌套的方式保证顺序,但是嵌套越多代码可维护性越差,可读性越差。解决方法:promise(es6新增的API)2.promise语法promise是一个容器,里面存放的是异步操作,当执行异步操作的时候,promise状态为pending(未完成、正在执行),当异步操作完成之后,改变状态为resolve,reject其中一种,其中resolve为成功,reject为失败,状态不可逆。切原创 2021-03-18 09:21:34 · 275 阅读 · 0 评论 -
在nodejs中使用mongodb
使用官方的mongodb包来操作https://github.com/mongodb/node-mongodb-native使用第三方包mongoose基于官方mongodb包进行的封装地址https://mongoosejs.com/使用:安装mongoosenpm install --save mongoose使用const mongoose = require('mongoose');// 引入Schemaconst schema = mon..原创 2021-03-17 11:52:52 · 360 阅读 · 0 评论 -
express提取出路由模块创建http服务
如果仅仅是在一个文件中进行服务创建,相对于维护性不高,同时当路由增加的时候,会造成结构不清晰的情况的产生,因此可以通过将路由模块单独抽取出来,单独进行维护操作。但是此时就会出现一个问题,如何建立服务入口模块app.js与路由模块router.js建立连接?最开始一般会想到通过模块内置对象module.exports导出,app.js进行导入: // router.js module.exports = function(app) { app.get('/',(req,res) => { r原创 2021-03-14 15:10:18 · 217 阅读 · 1 评论 -
解决nodejs频繁修改代码需要频繁重启服务器问题
nodemon可以帮助我们频繁修改代码重启服务器问题。nodemon是一个基于Node.js开发的第三方命令行工具,使用时需要独立安装npm install --global nodemon使用# 使用方式和node一样nodemon practice.js# 等价于node practice.jsnodemon会自动监察当前项目的代码是否修改,并自动重启服务...原创 2021-03-14 13:10:28 · 689 阅读 · 0 评论 -
在express中获取表单post请求体数据
express中没有提供API来获取post请求体数据,因此需要插件(body-parser)来进行获取安装npm install --save body-parser配置以及使用let express = require('express');// 引入包let bodyParser = require('body-parser');let app = express();//配置body-parser// 只要加上这个配置,则在req请求对象上会多出来一个属性:body//原创 2021-03-13 15:38:13 · 761 阅读 · 5 评论 -
express中使用art-template
下载模块npm install --save art-templatenpm install --save express-art-template原创 2021-03-13 14:56:50 · 426 阅读 · 0 评论 -
express基本使用
1.express基于nodejs平台、快速、开放、极简的Web开发框架,官网地址(中文版),官网地址1.基本使用下载expressnpm install express --save引入express模块let express = require('express');构建服务实例// 构建服务实例 相当于 http.createServer();let app = express();接收服务端请求// 当服务端收到 get请求 / 的时候,执行回调函数ap原创 2021-03-11 18:42:08 · 217 阅读 · 0 评论 -
CommonJS 模块规范
1. 什么是模块化具有文件作用域以及通信规则(导入、导出)则称其具有模块化2.common JS模块规范在node中的js有个重要的概念:模块系统模块作用域使用require方法用来加载模块使用exports接口对象用来导出模块中的成员1.加载require语法var 自定义变量名称 = require('模块');作用执行被加载模块中的代码返回被加载模块中的exports导出对象2.导出exportsNode 中是模块作用域,默认文件中的所有对象只在当前文原创 2021-03-11 09:36:08 · 420 阅读 · 0 评论 -
301/302重定向以及nodejs的实现
url重定向分为301和302两种,301和302都是HTTP的状态码,都代表某个url发生了转变。但是区别在于:301永久的重定向,表示当前网页永久性转移到了另一个url上,搜索引擎在抓取新内容的时候会将旧的网址替换为重定向的网址,同时旧网址下原有的外部链接都转移到新地址下,从而不会让当前网站的排名收到影响。也即:新网址完全继承了旧网址,旧网址的排名等完全清零。在实际的场景中:比如,浏览器中的收藏所保存的url会被完全替换为新的url。302临时的重定向,表示当前网页暂时转移到另一个url原创 2021-03-10 20:34:48 · 1505 阅读 · 0 评论 -
nodejs实现简单的Apache功能
<html dir="ltr" lang="zh"><head> <meta charset="utf-8"> <meta name="google" value="notranslate"> <script> function addRow(name, url, isdir, size, size_string, date_modified, date_m原创 2021-03-09 21:29:33 · 939 阅读 · 0 评论 -
artTemplate模板引擎
artTemplate模板引擎1. 什么是模板引擎2.模板引擎理解3.artTemplate模板引擎1. 浏览器2.NodeJS3.客户端渲染与服务端渲染的区别1. 什么是模板引擎模板引擎简单的理解就是:按照某种规则处理数据并显示,而此规则就是模板,按照该模板将数据传入,不用关于数据如何处理的,只需要关心数据的显示即可。模板引擎不关心内容,只关心规则。此外最开始的模板引擎出现于服务器,最后才不断引入到了客户端2.模板引擎理解最初没有模板引擎时的做法当有大量数据的时候var joson = [原创 2021-03-08 07:41:29 · 546 阅读 · 0 评论 -
NodeJs模块系统
1. 核心模块Node为js提供了很多服务器级别的API,这些API绝大多数都被包装到了一个具名的核心模块中。比如:文件操作的fs核心模块,http服务构建的http模块,path路径操作模块,os操作系统信息模块等。都是通过require('fs');进行引入后使用。2.模块系统Node中,模块有三种具名的核心模块,例如:fs,path用户自定义模块引入的相对路径必须加./,不能省略,否则报错可以省略后缀名,默认访问js文件第三方模块作用域Node中没有全局作原创 2021-03-04 15:42:47 · 226 阅读 · 1 评论 -
Nodejs创建简单的http服务
引入http模块let http = require('http');创建服务实例let server = http.createServer();等待请求server.on('request',(request,response) => { console.log('请求收到'); let str = ''; if (request.url == '/') { str = 'welcome to Home'; } else {..原创 2021-03-03 19:46:19 · 368 阅读 · 1 评论 -
nodejs环境搭建
官网下载地址:https://nodejs.org/en/有两个版本分别是LTS(稳定版)、Current(体验版)根据自身情况下载Windows installer(.msi)安装1.将下载好的Installer点击安装,一路‘next’2. 已经安装过的重新再安装会覆盖原有已安装的版本检查是否安装成功打开命令行cmd输入node --version 或者 node -v如果有相应的版本的输出,则安装成功...原创 2021-03-03 17:09:51 · 121 阅读 · 1 评论 -
什么是Nodejs
nodejs简介1. nodejs是什么2.nodejs能做什么3.资源1. nodejs是什么Node.js® is a JavaScript runtime built on Chrome’s V8 JavaScript engine.不是一门语言、库、框架是一个js运行时环境nodejs可以解析和执行js代码,相比于以前只有浏览器可以解析执行js代码,现在的Js可以完全脱离浏览器来运行。浏览器中的js与nodejs中的Js的区别浏览器中的js由ecmascript、DOM、BOM三原创 2021-03-03 16:57:04 · 2304 阅读 · 2 评论