node

ajax解决跨域访问

独自空忆成欢 提交于 2020-01-31 12:49:23
前端解决跨域: 跨域是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制。 解决: 所以搞一个node 服务器做代理,发出请求到node 服务器,node服务器转发到后端就可以绕过跨域问题。 后端解决跨域问题: 后端解决,在响应代码里面添加响应头: response . setHeader ( "Access-Control-Allow-Origin" , "*" ) ; 来源: CSDN 作者: qq843033514 链接: https://blog.csdn.net/qq843033514/article/details/104111725

node 文件的同步、异步写入

折月煮酒 提交于 2020-01-31 11:18:25
文件系统 (1)通过node来操作系统中的文件 (2)使用前要先引入fs核心模块,直接require引入,无需下载 操作文件系统两种方式 同步文件系统会阻塞程序,除非操作完成,不会执行下面代码 异步文件系统不会阻塞程序,而是在操作完成后通过回调函数返回结果 文件的同步写入 (1)fs.openSync(path,flags,mode)返回一个文件特殊值,可通过返回值对文件进行操作 path:路径 flags:打开文件操作的类型 'r':只读 'w':只写 mode:文件权限,一般针对linux,可不写 (2)fs.writeSync(文件特殊值,'写入内容',距离首部距离数值/可选,'字符编码格式默认为utf-8'/可选); (3)fs.closeSync(文件特殊值); //保存并关闭文件,减小服务器开销,否则会一直占用服务器 以追加方式 fs.appendFileSync(路径,'内容'); 文件的异步写入 (1)fs.open(路径,文件操作类型,回调函数function(err,fd){ 回调函数有两个参数,err错误对象,没有为null,fd文件描述符 可通过arguments查看 }); 'r':只读 'w':只写 //没有文件会自动创建一个文件 注意:**必须在打开函数的回调函数中写** (2)fs.write(文件描述符,'内容',距首部位置数值/可选,编码格式

NodeJS获取GET和POST请求

杀马特。学长 韩版系。学妹 提交于 2020-01-31 11:17:51
使用NodeJS获取GET请求,主要是通过使用NodeJS内置的 querystring 库处理 req.url 中的查询字符串来进行。 通过 ? 将 req.url 分解成为一个包含 path 和 query 字符串的数组 通过 querystring.parse() 方法,对格式为 key1=value1&key2=value2 的查询字符串进行解析,并将其转换成为标准的JS对象 const http = require('http') const querystring = require('querystring') let app = http.createServer((req, res) => { let urlArray = req.url.split('?') req.query = {} if (urlArray && urlArray.length > 0) { if (urlArray[1]) { req.query = querystring.parse(urlArray[1]) } } res.end( JSON.stringify(req.query) ) }) app.listen(8000, () => { console.log('running on 8000') }) NodeJS获取POST数据 NodeJS获取POST数据,主要是通过响应

node --- > [express项目] 开发环境下使用morgan控制台输出访问信息

有些话、适合烂在心里 提交于 2020-01-31 09:26:12
说明 源代码 记录、遗忘回顾 process.env node中提供了一个 process.env 接口用于访问计算机中的系统环境变量. 可以利用以上属性来区分当前的环境是开发环境还是生产环境,代码如下: if ( process . env . NODE_ENV === 'development' ) { console . log ( '当前环境是开发环境' ) } else { console . log ( '当前环境是生产环境' ) } 开发环境和生产环境 什么是开发环境\生产环境 环境,就是项目运行的地方,当项目处于开发阶段,项目运行在开发人员的电脑上,项目所处的环境就是开发环境。当项目开发完成以后,要将项目放到真实的网站服务器电脑中运行,项目所处的环境就是生产环境. 为什么要区分开发环境与生产环境 因为在不同的环境中,项目的配置是不一样的,需要在项目代码中判断当前项目运行的环境,根据不同的环境应用不同的项目配置. morgan 1. npm install morgan 2.在 app.js 中使用 const morgan = require ( 'morgan' ) ; if ( process . env . NODE_ENV === 'development' ) { console . log ( '当前环境是开发环境' ) app . use (

nodejs 路径处理

本小妞迷上赌 提交于 2020-01-31 09:14:50
https://blog.csdn.net/liudongdong19/article/details/81353159 获取 /路径/文件名/扩展名 获取路径:path.dirname(filepath) 获取文件名:path.basename(filename) 获取扩展名:path.extname(filepath) 获取所在路径 const path=require("path"); var filepath='/node/base/path/test.js'; console.log( path.dirname(filepath) ) //输出/node/base/path 获取文件名 path.basename(filepath)实际上是获取了路径的最后一部分, 而不是真正的获取到了文件名,但是在实际应用中最后的字符往往就是我们的文件名 const path = require("path"); console.log(path.basename("/node/base/path/test.js")); //输出 test.js console.log(path.basename("/node/base/path/test/")); //输出 test console.log(path.basename("/node/base/path/test")); //输出

在vue-cli中使用sass

心不动则不痛 提交于 2020-01-31 09:05:12
在vue-cli中使用sass 在vue-cli低版本中(3以下),我们需要自己在node中去配置css预处理器sass/less,配置方式如下 1. 安装 npm install node-sass --save-dev //--save表示本地安装 // -dev 表示开发时依赖(development n.研发,开发) npm install sass-loader@7.3.1 --save-dev //@:表示指定版本号下载 同样的控制版本下载的方式还有**@** 、**~**两种方式 ^ :会匹配最新的大版本依赖包,比如^1.2.3会匹配所有1.x.x的包,包括1.3.0,但是不包括2.0.0 :会匹配最近的小版本依赖包,比如 1.2.3会匹配所有1.2.x版本,但是不包括1.3.0 2. 配置 module: { rules: [{ test: /\.vue$/, loader: 'vue-loader', options: vueLoaderConfig }, { test: /\.js$/, loader: 'babel-loader', include: [resolve('src'), resolve('test'), resolve('node_modules/webpack-dev-server/client')] }, { test: /\.(png

数据结构 链表 c实现

百般思念 提交于 2020-01-31 06:05:07
#include <stdio.h> #include <string.h> #include <stdlib.h> typedef struct { char key[10]; char name[20]; int age; }Data; typedef struct Node //定义链表结构 { Data nodeData; struct Node *nextNode; }CLType; CLType *CLAddEnd(CLType *head,Data nodeData)//追加节点 { CLType *node,*htemp; if(!(node=(CLType*)malloc(sizeof(CLType)))) { printf("申请内存失败!\n"); return NULL; } else { node->nodeData=nodeData; node->nextNode=NULL; if(head==NULL) { head=node; return head; } htemp=head; while(htemp->nextNode!=NULL) { htemp=htemp->nextNode; } htemp->nextNode=node; return head; } } CLType *CLAddFirst(CLType *head,Data

npm install失败

▼魔方 西西 提交于 2020-01-31 05:30:35
node-sass无法下载导致构建失败 由于node-sass的源使用的是Github上面的,经常无法访问,我们构建的时候需要单独设置node-sass的下载地址。 linux SASS_BINARY_SITE=https://npm.taobao.org/mirrors/node-sass/ npm install node-sass window set SASS_BINARY_SITE=https://npm.taobao.org/mirrors/node-sass&& npm install node-sass 复制代码有些依赖无法下载导致构建失败 由于npm源访问慢的问题,有些源可能会无法下载,改用淘宝的npm源即可解决。 设置为淘宝的镜像源 npm config set registry https://registry.npm.taobao.org 设置为官方镜像源 npm config set registry https://registry.npmjs.org 来源: CSDN 作者: qq_36283674 链接: https://blog.csdn.net/qq_36283674/article/details/104114742

剑指offer(8) 二叉树的下一个结点【JAVA】

生来就可爱ヽ(ⅴ<●) 提交于 2020-01-31 00:33:01
package example; /** * 给定一棵二叉树和其中的一个结点,如何找出中序遍历顺序的下一个结点? * 树中的结点除了有两个分别指向左右子结点的指针以外,还有一个指向父结点的指针。 * * @author lvtong * @date 2020/1/30 */ public class Example8 { public static void main(String[] args) { //创建树 BinaryTreeNode nodeA = new BinaryTreeNode("a"); BinaryTreeNode nodeB = new BinaryTreeNode("b"); BinaryTreeNode nodeC = new BinaryTreeNode("c"); BinaryTreeNode nodeD = new BinaryTreeNode("d"); BinaryTreeNode nodeE = new BinaryTreeNode("e"); BinaryTreeNode nodeF = new BinaryTreeNode("f"); BinaryTreeNode nodeG = new BinaryTreeNode("g"); BinaryTreeNode nodeH = new BinaryTreeNode("h");

赫夫曼树

孤者浪人 提交于 2020-01-30 23:08:44
基本介绍 1)给定n个权值作为n个叶子结点,构造一颗二叉树,若该树的带权路径长度(wpl)达到最小,称这样的二叉树为最优二叉树,也称哈夫曼树(Huffman Tree),也叫霍夫曼树 2)赫夫曼树是带权路径长度最短的树,权值最大较大的节点离根较近。 赫夫曼树几个重要概念说明: 1)路径和路径长度:在一棵树中,从一个节点往下可以到达的孩子或者孙子节点之间的道路,称为路径。通路中分支的数目称为路径长度。若规定根节点的层数为1,则从根节点到底L层节点的路径长度为L-1 2)节点的权及带权路径长度:若将树中节点赋给一个有着某种含义的数值,则这个数值称为该节点的权。节点的带权路径长度为:从根节点到该节点之间的路径长度与该节点的权的乘积 3)树的带权路径长度:树的带权路径长度规定为所有叶子结点的带权路径长度之和,记为WPL(weighted path length),权值越大的节点离根节点越近的二叉树才是最优二叉树。 4)WPL最小的就是赫夫曼树 代码实现: public class HuffmanTree { public static void main(String[] args) { int arr[] = { 13, 7, 8, 3, 29, 6, 1 }; Node root = createHuffmanTree(arr); //测试一把 preOrder(root); // }