零碎知识记录

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 文件与文件操作--删除文件和文件夹

  1. 删除文件——
fs.unlink(path[,callback])或者fs.unlinkSync(path)
  1. 删除文件夹——
    方法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。


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


    image.png

3.成功后会看到Windows server桌面。


image.png

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 ,第二个参数被忽略

详细bind介绍

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 intall sass-loader --save ;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 换成自己对应的文件路径
执行结果

image.png

openssl命令详解

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容