随笔分类 - nodejs
nodejs
摘要:跨域请求原理
1、通过jsonp跨域
利用在页面中创建script节点的方法向不同域提交HTTP请求的方法称为JSONP,这项技术可以解决跨域提交Ajax请求的问题。
js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据。只要协议、域名、端口有任何一个不同,都被当作是不同的域。
阅读全文
摘要:js 把字符串转换成数组,数组去重后再转成字符串
数组去重使用ES6标准函数
function unique(arr){
//Set数据结构,它类似于数组,其成员的值都是唯一的
return Array.from(new Set(arr)); // 利用Array.from将Set结构转换成数组
}
//字符串转换成数组(根据分割符)
var outstrArr = outstr.split(',');
//数组去重
var uniqueArr = unique(outstrArr);
//数组转换成字符串(添加分割符)
outstr = uniqueArr.join(",");
阅读全文
摘要:pm2好用的node进程管理工具,监控进程开机自启动,java进程配置,安装Nodejs环境
PM2是node进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如性能监控、自动重启、负载均衡等,而且使用非常简单。
pm2 是一个带有负载均衡功能的Node应用的进程管理器.
当你要把你的独立代码利用全部的服务器上的所有CPU,并保证进程永远都活着,0秒的重载, PM2是完美的。
常用命令:pm2 list 查看当前进程,pm2 monit 进程监控,pm2 startup pm2 save 开机自启动设置。
安装PM2
需要先安装Nodejs环境(文章后面附有安装教程),建议使用淘宝镜像cnpm
使用cnpm命令安装全局的pm2
cnpm install -g pm2
注:java 生态自动化监控一般用:prometheus
阅读全文
摘要:vue运行不起来
vuejs Mac环境下npm run serve 提示 node_modules/.bin/vue-cli-service: Permission denied问题解决方案
sh: /Users/zheng/webspace/ac-complex/node_modules/.bin/vue-cli-service: Permission denied
npm ERR! code ELIFECYCLE
npm ERR! errno 126
看提示是 ./bin 目录没有权限,解决办法:
mac终端输入:chmod 777 /Users/xxx/项目根目录/node_modules/.bin/vue-cli-service 执行
再运行 cnpm run serve 就可以了
如果还是不行,则建议直接删除node_modules文件夹,然后重新 cnpm install ,再授权,试试看
阅读全文
摘要:js 某个值在数组中的下标
javascript中知道一个数组中的一个元素的值,如何获取数组下标
JS 获取数组某个元素下标 函数方法
采用prototype原型实现方式,查找元素在数组中的索引值
js查找元素在数组中的位置(index值)
遍历所有数组,当数组中的数值与你期望的数值相同时返回下标即可。
阅读全文
摘要:js javascript map函数去重功能的使用实例
先上一个实战例子代码
var map = new Map();
for(var i=0; i<=9; i++){
map.set(i,i);
}
//遍历出去重后的元素值
map.forEach((value, key, self) => {
Map是一组键值对的结构,具有极快的查找速度。
阅读全文
摘要:前端使用node.js的http-server开启一个本地服务器
在写前端页面中,经常会在浏览器运行HTML页面,从本地文件夹中直接打开的一般都是file协议,当代码中存在http或https的链接时,HTML页面就无法正常打开,为了解决这种情况,需要在在本地开启一个本地的服务器。
本文是利用node.js中的http-server,开启本地服务,步骤如下:
阅读全文
摘要:vue用npm安装删除模块element-ui mint-ui
在vue项目中先引入了element-ui,后来发现移动版的需要用mint-ui,所以需要先卸载了再安装。
卸载element-ui:
npm uninstall element-ui
然后再安装mint-ui:
npm i mint-ui -S
阅读全文
摘要:nodejs高并发大流量的设计实现,控制并发的三种方法
eventproxy、async.mapLimit、async.queue控制并发
Node.js是建立在Google V8 JavaScript引擎之上的网络服务器框架,允许开发者能够用客户端使用的语言JavaScript在服务器端编码。
node.js优缺点:
优点: 高并发,io密集型处理, 可以作为单页面应用,便于爬虫抓取。
缺点:不适合cpu计算密集型, 对关系数据库支持不好
阅读全文
摘要:vuejs目录结构启动项目安装nodejs命令,api配置信息思维导图版
阅读全文
摘要:CSS, JavaScript 压缩, 美化, 加密, 解密
JS压缩, CSS压缩, javascript compress, js在线压缩,javascript在线压缩,css在线压缩,YUI Compressor压缩,Google Closure Compiler压缩,js压缩,uglifyjs压缩,javascript压缩,js美化,javascript美化,js加密,js解密,js混淆,javascript加密,javascript解密,js格式化,javascript格式化
阅读全文
摘要:JetBrains WebStorm打开多个项目project的方法
File-->Settings-->Directories
点击右侧 + Add content root,选择目录后即可显示该项目。
如果直接在已有的一个项目下添加,则都会显示在当前目录内,所以合理的方式就是新建一个空目录,先open这个空目录,然后再自行添加各个开发项目的目录。
阅读全文
摘要:golang学习笔记17 爬虫技术路线图,python,java,nodejs,go语言,scrapy主流框架介绍
python,封装好的框架scrapy,其他常用,urllib2,解析用的包的beautifulsoup,配合selenium。以上是随便爬爬。
大型的分布式爬取,难点一个在反反爬,动态ip池,接打码,爬虫行为模式控制,是个体力活;
另一个在爬取和落盘的效率,所以到了一定规模分布式一般用go/java/scala多
用python的scrapy,所有平台都能跑,scrapy是主流方案,各种周边都很成熟,爬视频python有现成的包
python的pyspider框架比较完善,抓取大量网站,解析大量页面时做分布式和后台管理都比较方便
java爬虫配合jsoup也是不错的选择
nodejs主要框架有cheerio、crawler、spiderman
go语言爬虫框架:gocolly/colly,goquery,colly,chromedp,webloop,go_spider,Pholcus
阅读全文
摘要:使用NodeJsScan扫描nodejs代码检查安全性
1.下载源码:https://github.com/ajinabraham/NodeJsScan
2.下载Windows版docker toolbox: http://get.daocloud.io/#install-toolbox
3.下载PostgreSQL安装详细步骤(windows)
http://blog.chinaunix.net/uid-354915-id-3498734.html
https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
https://www.pgadmin.org/
user:postgres,pw:admin,port:5432
4.重启电脑,打开pgAdmin4程序
http://127.0.0.1:49908/browser/
创建一个数据库nodejsscan
=================
https://ajinabraham.github.io/NodeJsScan/
安装
阅读全文
摘要:Node.js中环境变量process.env详解
process | Node.js API 文档
http://nodejs.cn/api/process.html
官方解释:process 对象是一个 global (全局变量),提供有关信息,控制当前 Node.js 进程。
作为一个对象,它对于 Node.js 应用程序始终是可用的,故无需使用 require()。
process(进程)其实就是存在nodejs中的一个全局变量,所有模块都可以调用。
http://nodejs.cn/api/process.html#process_process_env
node框架经常会看到类似的代码:
if (process.env.NODE_ENV === 'production') {
module.exports = require('./prod.js')
} else {
module.exports = require('./dev.js')
}
阅读全文
摘要:gitlab提交内容关联到slack通知
https://docs.gitlab.com/ee/user/project/integrations/slack.html
首先去slack做相关的设置
(1)登录slack, Add Incoming WebHooks integration 创建一个接收webhook的设定
(2)选择一个channel, 然后点击“Add incoming WebHooks integration”即可
(3)复制webhook的URL,备用
去Gitlab设置
(1)登录gitlab,选择一个自己的project里面,进入setting->integrations
(2)页面拉倒最下,选择slack notifications
阅读全文
摘要:nodejs typescript怎么发送get、post请求,如何获取网易云通信token
yarn add jshashes
yarn add superagent
检查语法
yarn lint
阅读全文
摘要:window下nodejs用nodemon启动koa2项目(用cmd启动不了,要用Git Bash Here 启动才可以)
nodemon --watch 'app/**/*' -e ts --exec 'ts-node' app.ts
环境变量添加项目具体位置,例如:D:\nodejsspace\projectname\node_modules\.bin 也是不起作用的。估计是.bin这个特殊字符cmd命令不认的。
环境变量配置,新增:NODE_ENV:development
path顶部新增:.\node_modules\.bin\
cmd命令行报错''ts-node'' 不是内部或外部命令,也不是可运行的程序
阅读全文
摘要:mongodb可视化工具 studio3t robo3T 下载安装使用介绍
下载地址: https://studio3t.com/download
阅读全文
摘要:react系列笔记1 用npx npm命令创建react app
create-react-app my-app是开始构建新的 React 单页应用程序的最佳方式。它已经为你设置好了开发环境,以便您可以使用最新的 JavaScript 特性,提供不错的开发体验,并且可以优化你的生产环境应用。你需要在你的机器上安装 Node >= 6 。
安装node.js 工具https://nodejs.org/en/download/
安装后再打开cmd执行下面命令:
npm install -g create-react-app
create-react-app my-app
cd my-app
npm start
如果你的 npm 5.2.0+ 可以使用npx命令
阅读全文