Nodejs
Nodejs
AdleyTales
这个作者很懒,什么都没留下…
展开
-
关于Object.assign的引用,浅拷贝
Object.assign是浅拷贝。具体是:第一级属性深拷贝,第一级以下的级别属性浅拷贝 。深拷贝父对象(一级目录),子对象(二级目录)不拷贝,还是引用。这一特性同python中对字典dict的copy一样,都只是在第一级目录深拷贝,内层还是引用。但是一般我们开发就可以解决实际需求了。...原创 2020-10-19 14:52:42 · 248 阅读 · 0 评论 -
npm 在安装时候报错 npm ERR! request to https://registry.npmjs.org/express failed, reason: unable to verify
原因是https的自签名失败临时解决办法:关闭sslnpm config set strict-ssl false原创 2020-07-17 09:23:52 · 18753 阅读 · 7 评论 -
JS中的**的性能问题
在javascript中对数字的n次方可以简写成 10**3 = 1000 代替101010。但是这种写法在v8中确有性能问题,尽量少用!实验过程源代码let start_time = Date.now();for(let a=0;a<1001;a++){ for(let b=0;b<1001;b++){ for(let c=0;c<1001;c++){ // ** 重点关注这一行 if(a**2 +.原创 2020-07-16 09:18:42 · 275 阅读 · 0 评论 -
vscode 远程调试nodejs
{ // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "type": "node", "request": "attach", "name": "远程调试", "address": "1原创 2020-05-29 09:42:58 · 369 阅读 · 0 评论 -
Linus 下安装最新版的nodejs
1. 下载对应系统架构的linus版本,可以直接wget下载,也可以下载再sftp传到linus上http://nodejs.cn/download/2.解压 tar xvf node-v10.8.0-linux-x64.tar.xz 3.设置环境变量PATH: vim ~/.bashrc export PATH=/pkg/node-v10.8.0-linux-x6...原创 2018-09-19 10:02:22 · 10673 阅读 · 0 评论 -
JavaScript锁定对象的属性 Object.freeze
var obj = { foo: 'bar'}Object.freeze(obj)console.log(obj); // { foo: 'bar' }obj.foo = 'abc123';console.log(obj); // { foo: 'bar' }原创 2019-07-09 17:31:05 · 1325 阅读 · 0 评论 -
nodejs 开发命令行工具
1 创建一个目录mkdir argvcd argv touch argv.jsnpm init -y2 修改package.json{ "name": "argv", "version": "0.0.4", "bin": { "argv": "./argv.js" }}3 编写argv.js#!/usr/local/bin/nodeconst ...原创 2019-07-09 13:46:01 · 377 阅读 · 0 评论 -
nodejs process argv
console.log(process.argv);const [nodePath, scriptPath, name] = process.argv;console.log(name);/** [ '/usr/local/bin/node', '/Users/ztc/workspace/lastNodejs/argv.js', 'adley' ] adley */...原创 2019-07-09 10:55:13 · 859 阅读 · 0 评论 -
什么是node-gyp?
GYP是一种构建自动化工具。node-gyp:node下的gyp。为什么要有node-gyp?npm 为了方便干脆就直接源码分发,用户装的时候再现场编译。因为node程序中需要调用一些其他语言编写的 工具 甚至是dll,需要先编译一下,否则就会有跨平台的问题,例如在windows上运行的软件copy到mac上就不能用了,但是如果源码支持,编译一下,在mac上还是可以用的。node-gyp在...原创 2019-07-09 09:20:50 · 30387 阅读 · 1 评论 -
Koa router 动态注册路由 /初始化挂载注册所有的路由
app.jsconst Koa = require('koa');const app = new Koa();const routes = require('./routes');app.use(routes.routes(), routes.allowedMethods());app.listen(9092);routes/index.jsconst Router = req...原创 2019-07-03 09:50:03 · 2141 阅读 · 0 评论 -
nodejs RSA 与 jsencrypt 实现前端加密后端解密功能(非对称)
nodejs RSA 与 jsencrypt 实现前端加密 后端解密功能1. 前端javascript'use strict';const _pubKey = `-----BEGIN PUBLIC KEY-----MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCK3siV2MKl7ADFMajEsbc/ZrSTfo9h37c6+m0cUHOTqGR4V+...原创 2019-07-01 11:21:40 · 8230 阅读 · 0 评论 -
nodejs RSA非对称加密解密
const NodeRSA = require('node-rsa');const _pubKey = `-----BEGIN PUBLIC KEY-----MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAICZifH6EG/qZ4tNYdkTUI/+TMpMr/3rap6NM5Zqo0pEaTQWRVarR3njktB3ssfydQZESo+E0d3AIffhXrf1...原创 2019-07-01 10:24:47 · 2482 阅读 · 0 评论 -
nodejs 加密解密 签名工具兼容从高版本到低版本动态匹配
'use strict';/** * @util runtime时匹配密钥的工具,从高版本到低版本匹配 */function secretKeyUtil(config, vid, cryptType) { // 1 匹配vid let isExist = Object.keys(config).includes(vid); // 2 是否存在? if ...原创 2019-06-26 16:32:22 · 427 阅读 · 0 评论 -
nodejs AES 对称加密解密
'use strict';const crypto = require('crypto');/** * @util 加密、解密工具类 */class CryptoUtil { /** * 解密 * @param dataStr {string} * @param key {string} * @param iv {string} ...原创 2019-06-25 14:52:38 · 8439 阅读 · 0 评论 -
nodejs require.main.filename
module.filename:开发期间,该行代码所在的文件。__filename:始终等于 module.filename。__dirname:开发期间,该行代码所在的目录。process.cwd():运行node的工作目录,可以使用 cd /d 修改工作目录。require.main.filename:用node命令启动的module的filename, 如 nodexxx,这里...原创 2019-06-12 17:22:56 · 1021 阅读 · 0 评论 -
koa 捕获全局异常,自定义返回数据,固定的错误码,提示信息
koa全局处理异常// handle errorapp.on('error', async (err, ctx, next) => { // TODO logger errStack console.log(err.message); let errStruct = { errCode: -20221, alert: '服务忙...原创 2019-05-17 15:30:19 · 2287 阅读 · 0 评论 -
Ubuntu下手动安装nodejs最新版
下载nodj二进制源码:xz结尾的压缩文件我的下载路径是 /opt/download下wget https://nodejs.org/dist/v9.5.0/node-v9.5.0-linux-x64.tar.xz注意:这个包下载下来就是源码,解压之后就存在node和npm。无需重复编译。解压tar xvf node-v9.5.0-linux-x64.tar.xz...原创 2018-02-08 13:29:50 · 20475 阅读 · 2 评论 -
在任意目录下启动一个http server
nodenpm i http-server -ghttp-server .pythonpython -m http.server原创 2019-09-20 16:40:49 · 890 阅读 · 0 评论