node

node的安装和配置

被刻印的时光 ゝ 提交于 2020-03-14 00:43:17
一 . 直接安装node 1. http://nodejs.cn/download/ 根据自己的电脑选择适合的安装包 2.安装 , 无脑下一步 , 可以选择安装路径 , 但是一定要记住 . 3.命令行窗口输入 ' node ' 就进入node编辑界面 , 可以输入node命令了. 4.因为现在的node里集成了npm , 所以npm也一并安装好了 , 可以用 npm -v 命令查看版本号 , 如果正确显示版本号就说明安装成功 5. 在刚才安装node的路径下有一个 node.js , 手动创建 "node_global" 和 "node_cache" 两个文件夹. 比如我的是放在 C:dev\ 路径下 6. cmd窗口输入   npm config set prefix "C:\dev\nodejs\node_global"   npm config set cache "C:\dev\nodejs\node_cache"   7.这时可以试试安装全局模块   npm install express -g // 这里的 -g 就是安装在全局的意思 , 在哪个路径都可以访问到 . install 也可以省略为 i 这是可以看看 node_global 文件夹里有一个 ' express ' 文件夹 , 所有 -g 的文件都会在这里 . 8.最后也是最重要最容易出错的一步 --

怎么解决ERROR in Node Sass does not yet support your current environmen问题?

折月煮酒 提交于 2020-03-13 17:23:25
好久没有重新安装node.js,昨天和小伙伴们一起安装,由于自己是在网上自行下载的node,安装地比较顺利,但另外两个小伙伴用的共享文件夹里自带的node,却是屡次碰到问题,快被逼疯,在运行Vue时总是出现这种提示错误。 ERROR in Node Sass does not yet support your current environmen 在网上查了一堆解决方案,浪费了大量的时间后,终于找到了问题所在。正如图中提示的那样,是因为node sass不支持当前环境,百度之后才知道,node sass只能在node7以下的环境运行,解决方法有2种。 1.将已安装的高版本node卸载掉,重新安装node7以下的版本,这里需要注意的是npm版本也不可过高。很有可能你把node卸掉后,你的npm并没有跟着被卸载,这种时候就需要自己手动搜索npm所在的位置,再进行删除。(目前我们是用这种方法解决的问题,此方法主要针对window系统) 2.看到有博客说可以将node sass升到3.7。(昨天有个朋友说这个方法好像没什么用) 如果你有什么问题,欢迎在评论区留言~如果你觉得我的方法帮到了你,请帮忙点个赞,谢谢! 来源: https://www.cnblogs.com/cindy79/p/7232299.html

实现一个二叉搜索树(JavaScript 版)

こ雲淡風輕ζ 提交于 2020-03-13 17:21:37
二叉树在计算机科学中应用很广泛,学习它有助于让我们写出高效的插入、删除、搜索节点算法。二叉树的节点定义:一个节点最多只有两个节点,分别为左侧节点、右侧节点。 二叉搜索树是二叉树中的一种,在二叉搜索树中每个父节点的键值要大于左边子节点小于右边子节点。下图展示一颗二叉搜索树。 二叉搜索树实现大纲 本文将使用 JavaScript 语言,实现一个二叉搜索树,以下为实现的方法: constructor():构造函数,初始化一个二叉搜索树 insert(value):二叉树中查找一个节点,如果存在返回 true 否则返回 false preOrderTraverse(cb):先序遍历或称前序遍历 inOrderTraverse(cb):中序遍历 postOrderTraverse(cb):后序遍历 minNodeValue():最小节点值 maxNodeValue():最大节点值 removeNode(value):移除节点 destory():销毁节点 注意 :在实现二叉树搜索 在这里插入代码片 的很多方法中我们将使用大量的递归操作,如果对它不了解的,可以自行查阅资料学习。 初始化一个二叉搜索树 声明一个 BST 类,在构造函数的 constructor() 里声明它的结构: class BST { constructor () { this.root = null; // 初始化根节点

Python的单向链表实现

﹥>﹥吖頭↗ 提交于 2020-03-13 11:37:51
思路 链表由节点组成,先规定节点(Node),包含data和指向下个节点的next 初始化 data当然就是传入的data了,next指向None 添加 分两种情况: 链表为空,那么头节点和尾节点都指向新插入的节点 链表不为空,那么直接在尾部添加即可 遍历 因为只有链表的尾节点的next是指向None的,所以可以根据这点来从头遍历 删除某个节点 删除的时候分3种情况: 头节点,此时更改head指向的节点就好了 尾节点,此时只需将尾节点的前一个节点(prev)的next指向None即可 中间的节点,此时要将此节点的前一个节点的(prev)的next指向后续节点的(Current.next) 搜寻 遍历查找即可 清空链表 将头节点和尾节点都置为None即可 class Node: def __init__(self,data): self.next = None self.data = data class SinglyLinkedList: def __init__(self): self.head = None #头节点 self.tail = None #尾节点 self.size = 0 #链表长度 def append(self,data): node = Node(data) if self.tail: #如果链表不为空 self.tail.next = node self

HashMap实现原理解读

帅比萌擦擦* 提交于 2020-03-13 09:50:50
HashMap是Java开发当中使用得非常多的一种数据结构,因为其可以快速的定位到需要查找到数据,其最快的速度可以达到O(1),最差的时候也可以达到O(n)。本文以Java8中的HashMap做为分析原型,因为不同的JDK版本中的HashMap,可能存在着底层实现上的不一样。 HashMap是通过数组存储所有的数据,每个元素所存放数组的下标,是根据该存储元素的key的Hash值与该数组的长度减去1做与运算,如下所示: index = (length_of_array - 1) & hash_of_the_key; 数组中存放元素的数据结构使用了Node和TreeNode两种数据结构,在单个Hash值对应的存储元素小于8个时,默认值为Node的单向链表形式存储,当单个Hash值存储的元素大于8个时,其会使用TreeNode的数据结构存储。 因为在单个Hash值对应的元素小于等于8个时,其查询时间最差为O(8),但是当单个Hash值对应的元素大于8个时,再通过Node的单向链表的方式进行查询,速度上就会变得更慢了;这个时候HashMap就会将Node的普通节点转为TreeNode(红黑树)进行存储,这是由于TreeNode占用的空间大小约为常规节点的两倍,但是其查询速度可以得到保证,这个是通过空间换时间了。当TreeNode中包括的元素变得比较少时,为了存储空间的占用

linux下npm和node的升级

你说的曾经没有我的故事 提交于 2020-03-13 09:39:08
1.查看版本 npm -v 6.14.2 node -v v8.11.2 2.npm升级 升级到最新版本 sudo npm i -g npm 升级到指定版本 sudo npm i -g npm@6.14.2 3.node升级 首先通过npm安装node的版本管理工具“n“,不用惊讶,名字就是这么简单,就叫n。据了解,n是node下的一个模块,作者是Express框架的开发者。 sudo npm i -g n 安装node最新版本 sudo n latest 安装稳定版 sudo n stable 安装指定版本 sudo n v8.11.2 来源: https://www.cnblogs.com/liaozhenghan/p/12484398.html

nodejs如何实现简单的文件服务器

生来就可爱ヽ(ⅴ<●) 提交于 2020-03-13 05:44:16
先规定简单的传输协议 文件名的长度(两个字节) 文件名(长度不定,由前两个字节决定) 文件内容的长度(8个字节) 内容 (长度不定,由前8个字节决定) 使用nodejs 实现服务端 var net = require( 'net' ) ; var fs = require( 'fs' ) ; var server = net.createServer() ; server.on( 'connection' , function (client){ console. log ( 'client connected to server。IP:%s,port%s' , client. remoteAddress , client.remotePort) ; var isFirst = true ; var fd ; var contentLength = 0 ; var dataTotalLength = 0 ; var receiveData = Buffer.alloc( 0 ) ; // data长度不可控,需要自己合并多个data直至指定的要求或者发送的socket发送FIN client.on( 'data' , function (data){ if (isFirst) { receiveData = Buffer. concat ([receiveData , data])

复制带随机指针的链表

筅森魡賤 提交于 2020-03-13 01:56:04
给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。 要求返回这个链表的 深拷贝 。 我们用一个由 n 个节点组成的链表来表示输入/输出中的链表。每个节点用一个 [val, random_index] 表示: val :一个表示 Node.val 的整数。 random_index :随机指针指向的节点索引(范围从 0 到 n-1 );如果不指向任何节点,则为 null 。 /* // Definition for a Node. class Node { public: int val; Node* next; Node* random; Node(int _val) { val = _val; next = NULL; random = NULL; } }; */ class Solution { public: Node* copyRandomList(Node* head) { if(head == NULL){ return head; } Node *p = head; Node *q = NULL; while(p != NULL){ q = new Node(p->val); q->random = p->random; q->next = p->next; p->next = q; p = q->next; } Node

nodejs vue-cli 微信公众号开发(一) 申请域名搭建服务器

浪尽此生 提交于 2020-03-12 22:02:00
一、搭建本地服务器 1、首先保存本地的80端口被node监听,利用内网穿透工具把80端口映射出去。(ngrok工具可以穿透内网使本地ip作为外网使用) 2、打开https://natapp.cn/tunnel/edit/48496,根据自己的系统下载对应的版本工具,解压后打开cmd, 切换到解压目录,如图 3、详细操作过程 参照 NATAPP1分钟快速新手图文教程 https://natapp.cn/article/natapp_newbie 这时候,工具就把80端口映射出去了,而且还为你生成了一个域名,这个域名是可以被外网访问的。这样你的电脑目前就是一台小服务器了,有了这个域名和服务器,我们就可以来布置微信的测试环境了。 来源: https://www.cnblogs.com/wangRong-smile/p/10996643.html

几个命令行命令的总结(node, babel-cli, babel-node)

谁都会走 提交于 2020-03-12 19:42:28
node: 输入node, 进入repl环境之后,可以直接运行javascsript表达式,模拟node输出 sh-it-nb0023:static xialei$ node > console.log('lallalala'); lallalala undefined babel-cli: 安装好babel-cli后,可以直接通过babel命令来转码,前提是根目录一定要有.babelrc # 转码结果输出到标准输出 $ babel example.js # 转码结果写入一个文件 # --out-file 或 -o 参数指定输出文件 $ babel example.js --out-file compiled.js # 或者 $ babel example.js -o compiled.js # 整个目录转码 # --out-dir 或 -d 参数指定输出目录 $ babel src --out-dir lib # 或者 $ babel src -d lib # -s 参数生成source map文件 $ babel src -d lib -s babel-node: babel-cli 工具自带一个 babel-node 命令,提供一个支持ES6的REPL环境。它支持Node的REPL环境的所有功能,而且可以直接运行ES6代码。 它不用单独安装,而是随 babel-cli