1.请求路径包含非转义字符
throw new TypeError('Request path contains unescaped characters')
http请求时可能会报这个错, 一般是由于请求地址直接用字符串拼接造成的, 可能在Windows下能正常请求,部署到linux系统下就会报这个错.
解决方法:
用encodeURI方法转换下url地址,
let url = 'xyz.com?name=ståle&car=saab'
lurl = encodeURI(url);
2.nodejs 文件与文件操作--删除文件和文件夹
- 删除文件——
fs.unlink(path[,callback])或者fs.unlinkSync(path)
- 删除文件夹——
方法1:使用递归
let deleteFolderRecursive = function(path) {
var files = [];
if( fs.existsSync(path) ) {
files = fs.readdirSync(path);
files.forEach(function(file,index){
var curPath = path + "/" + file;
if(fs.statSync(curPath).isDirectory()) { // recurse
deleteFolderRecursive(curPath);
} else { // delete file
fs.unlinkSync(curPath);
}
});
fs.rmdirSync(path);
}
};
方法2:使用系统的命令
var exec = require('child_process').exec,child;
child = exec('rm -rf test',function(err,out) {
console.log(out); err && console.log(err);
});
3.使用Windows系统远程连接Windows server服务器
1.点击开始菜单->运行 (或者 windows+R) ,输入”mstsc”命令,
打开远程桌面连接对话框,输入你要连接的Windows server服务器的公网IP。

-
点击连接,在打开的界面中,输入用户名(默认 administrator)密码点击确定.
远程桌面连接时可能会跳出这个警告,不管他,点击是.
image.png
3.成功后会看到Windows server桌面。

4. Linux环境下最新版GCC安装总结
#yum install gcc
#yum install gcc-c++
5. Linux下nginx安装与配置详解
常用命令
// 如果nginx没有配置环境变量则替换成安装路径下的nginx
//例如 /usr/local/webserver/nginx/sbin/nginx -s reload
nginx -t # 检查配置文件nginx.conf的正确性命令
nginx # Nginx 启动命令:
nginx -s reload # 重新载入配置文件
nginx -s reopen # 重启 Nginx
nginx -s stop # 停止 Nginx
6. Linux下查找大文件
- 查找大文件
很多时候,你需要了解当前系统下有哪些大文件,比如文件大小超过100M或1G(阀值视具体情况而定)。那么如何把这些大文件搜索出来呢?使用如下命令:
find . -type f -size +800M -print0 | xargs -0 du -h | sort -nr
- 查找大目录
譬如有时候磁盘空间告警了,而你平时又疏于管理、监控文件的增长,那么我需要快速的了解哪些目录变得比较大,那么此时我们可以借助du命令来帮我们解决这个问题。
du -h --max-depth=1
如果你想知道某个目录下面有哪些大文件夹,那么可以将参数max-depth=2 ,如果你想对搜索出来的结果进行排序,那么可以借助于sort命令。如下所示:
du -h --max-depth=2 | sort -n
有时候搜索出来的结果太多了(譬如,我从根目录开始搜索),一直在刷屏,如果我只想查出最大的12个文件夹,怎么办呢?此时就要借助head命令来显示了
du -hm --max-depth=2 | sort -nr | head -12
- 查看某个命令的具体使用方法可以使用 man命令, 例如:
man cd
7.bind(null)偏函数
bind()的另一个最简单的用法是使一个函数拥有预设的初始参数。只要将这些参数(如果有的话)作为bind()的参数写在this后面。当绑定函数被调用时,这些参数会被插入到目标函数的参数列表的开始位置,传递给绑定函数的参数会跟在它们后面。
function list() {
return Array.prototype.slice.call(arguments);
}
function addArguments(arg1, arg2) {
return arg1 + arg2
}
var list1 = list(1, 2, 3); // [1, 2, 3]
var result1 = addArguments(1, 2); // 3
// 创建一个函数,它拥有预设参数列表。第一个参数为null或undefined时并不会改变原有的this指向
var leadingThirtysevenList = list.bind(null, 37);
// 创建一个函数,它拥有预设的第一个参数
var addThirtySeven = addArguments.bind(null, 37);
var list2 = leadingThirtysevenList();
// [37]
var list3 = leadingThirtysevenList(1, 2, 3);
// [37, 1, 2, 3]
var result2 = addThirtySeven(5);
// 37 + 5 = 42
var result3 = addThirtySeven(5, 10);
// 37 + 5 = 42 ,第二个参数被忽略
8.vue报错 !!vue-style-loader!css-loader?{"sourceMap":true}!
* !!vue-style-loader!css-loader?{"sourceMap":true}!../../node_modules/vue-loader/lib/style-compiler/index?{"vue":true,"id":"data-v-4ad41bb8","scoped":false,"hasInlineConfig":false}!sass-loader?{"sourceMap":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./search.vue in ./src/components/search.vue
解决方案
此类问题一般是缺少相关依赖而导致的,对于本例,仔细看一下报错提示信息,抓住关键词,vue-style-loader!css-loader,说明是css解析的时候出了问题。
所以,解决方案就要根据情况而定,看你使用的CSS语言是什么,是 常规的 或者 less 或者 sass。
如果是 常规 的,执行 npm install stylus-loader css-loader style-loader --save-dev 安装依赖就行。
如果是 less 的,执行 npm install less less-loader --save-dev 安装依赖就行。
如果是 sass 的,执行 npm install sass sass-loader --save-dev 安装依赖就行。或者(npm install node-sass --save)
如果你不知道,好吧,你三个都执行吧。
一般只有在初始化配置的的时候才会出现这个问题,如果是已经完好的项目都会在package.json中已经配好,直接install即可。
9.如何打开.pem格式的证书文件
腾讯云申请了ssh密钥对, 下载的私钥格式为.pem,为了查看私钥内容网上找了好久才找到,故此记录一下
命令行执行 openssl rsa -in /Users/gcheng/Downloads/coding.pem -text
把/Users/gcheng/Downloads/coding.pem 换成自己对应的文件路径
执行结果

openssl命令详解
