node

node中 package.json 文件说明

梦想与她 提交于 2020-02-23 20:12:26
1.概述 每个项目的根目录下面,一般都有一个 package.json 文件,定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称、版本、许可证等元数据)。 npm install 命令根据这个配置文件,自动下载所需的模块,也就是配置项目所需的运行和开发环境。 package.json 文件内部就是一个JSON对象,该对象的每一个成员就是当前项目的一项设置。比如 name 就是项目名称, version 是版本(遵守“大版本.次要版本.小版本”的格式) 2.scripts 字段 scripts 指定了运行脚本命令的npm命令行缩写,比如start指定了运行 npm run start 时,所要执行的命令。 3.dependencies 字段和 devDependencies 字段 { "devDependencies": { "browserify": "~13.0.0", "karma-browserify": "~5.0.1" } } 指定版本:比如 1.2.2 ,遵循“大版本.次要版本.小版本”的格式规定,安装时只安装指定版本。 波浪号(tilde)+指定版本:比如 ~1.2.2 ,表示安装1.2.x的最新版本(不低于1.2.2),但是不安装1.3.x,也就是说安装时不改变大版本号和次要版本号。 插入号(caret)+指定版本:比如ˆ1.2.2,表示安装1.x

Nodejs

£可爱£侵袭症+ 提交于 2020-02-23 18:08:17
什么是node ? Node.js 是一个基于Chrome V8 引擎的JavaScript运行环境 Node.js使用了一个事件驱动、非阻塞式I/O的模型,使其轻量又高效 Node.js的包管理工具npm,是全球最大的开源库生态系统 官网 http://nodejs.cn/ npm 插件官网:https://www.npmjs.com/ Node的安装 安装包安装 官网下载对应的安装包 一路next nvm安装(有一个类似的工具:n) Node Version Manager(Node版本管理工具) 由于以后的开发工作可能会在多个Node版本中测试,而且Node的版本也比较多,所以需要这么款工具来管理 [下载地址]https://github.com/coreybutler/nvm-windows/releases 基本命令 nvm -v 查看版本号 nvm list 查看列表 nvm install 版本号 安装node nvm uninstall 版本号 卸载node 相关版本 node版本常识 偶数版本为稳定版 (0.6.x ,0.8.x ,0.10.x) 奇数版本为非稳定版(0.7.x ,0.9.x ,0.11.x) LTS(Long Term Support) [LTS和Current区别]https://blog.csdn.net/u012532033/article

树莓派4B安装Nood.js

可紊 提交于 2020-02-23 17:52:13
手把手教你在树莓派上安装 Nood.js 1.查看树莓派架构下载对应的版本 首先查看树莓派的架构,树莓派终端输入命令 uname -a 可以看到博主使用的树莓派4B是基于 armv7 架构 然后登录 Nood.js官网 ,我们可以看到长期支持版是 v12.16.1 点击 Downloads 进入 下载页面 我们可以看到在 Linux Binaries (ARM) 下支持 ARMv7 架构 2.下载Nood.js 在树莓派终端输入: wget https://nodejs.org/dist/v12.16.1/node-v12.16.1-linux-armv7l.tar.xz 这里注意将版本改为相应的最新长期支持版的版本序号,比如更新到 v12.19.2 则相应的将命令进行修改,下同,不再赘述。 如果出现下载缓慢的问题我们也可以使用国内开源镜像源(某宝源)下载: wget https://npm.taobao.org/mirrors/node/latest/node-v12.16.1-linux-armv7l.tar.xz 3.解压二进制包 在树莓派终端输入如下命令解压: xz -d node-v12.13.1-linux-armv7l.tar.xz tar -xavf node-v12.13.1-linux-armv7l.tar 先将系统内原本存在的 /usr/bin.node 删除

ES6和node的模块化

僤鯓⒐⒋嵵緔 提交于 2020-02-23 17:35:06
ES6 模块的设计思想是尽量的静态化,使得编译时就能确定模块的依赖关系,以及输入和输出的变量。CommonJS 和 AMD 模块,都只能在运行时确定这些东西。比如,CommonJS 模块就是对象,输入时必须查找对象属性。 // CommonJS模块 let { stat, exists, readFile } = require('fs'); // 等同于 let _fs = require('fs'); let stat = _fs.stat; let exists = _fs.exists; let readfile = _fs.readfile; 上面代码的实质是整体加载fs模块(即加载fs的所有方法),生成一个对象(_fs),然后再从这个对象上面读取 3 个方法。这种加载称为“运行时加载”,因为只有运行时才能得到这个对象,导致完全没办法在编译时做“静态优化”。 // ES6模块 import { stat, exists, readFile } from 'fs'; 上面代码的实质是从fs模块加载 3 个方法,其他方法不加载。这种加载称为“编译时加载”或者静态加载,即 ES6 可以在编译时就完成模块加载,效率要比 CommonJS 模块的加载方式高。当然,这也导致了没法引用 ES6 模块本身,因为它不是对象。 CommonJS 加载的是一个对象(即module

ubuntu1804安装最新版本npm

为君一笑 提交于 2020-02-23 04:40:01
我先sudo apt install npm 发现版本是v8.1 别人都v12了 于是输入 flutter@ubuntu: sudo npm install n -g [ sudo ] flutter 的密码: /usr/local/bin/n - > /usr/local/lib/node_modules/n/bin/n + n@6.2.0 added 1 package from 4 contributors in 4.637s 然后 flutter@ubuntu: sudo n stable installing : node-v12.16.1 mkdir : /usr/local/n/versions/node/12.16.1 fetch : https://nodejs.org/dist/v12.16.1/node-v12.16.1-linux-x64.tar.xz ######## 11.8% 来源: CSDN 作者: ubuntu19.10 链接: https://blog.csdn.net/qq_45677678/article/details/104445139

ajax 与 node 的前后台交互

℡╲_俬逩灬. 提交于 2020-02-23 04:13:20
服务端: const http = require("http"); const fs = require("fs"); const url = require("url"); const querystring = require("querystring"); let data = '成功开启服务'; fs.writeFile('文件.txt', data, 'utf8',(err) => { if (err) throw err; console.log('日志已经输出'); }); let server = http.createServer(function (req,res) { let arr = req.url.toString().split('/'); let arr1 = __dirname.toString().split('\\'); const UrlArr = arr1.join('/'); if(req.url === '/') { console.log(2); fs.readFile('./server.html', (err, data) => { res.setHeader("Access-Control-Allow-Origin","*"); res.writeHead(200, { 'Content-Type': 'text/html'

node js入门必看

限于喜欢 提交于 2020-02-22 15:58:10
nodejs 1.服务器端运行的 js的一个运行环境 apache tomcat IIS nginx 开放源 BSD github 特点: 事件驱动 event 非阻塞 和异步I/O模型 input输入 output 输出 Node大部分基本模块都用JavaScript编写,底层模块 c++ c++稳定性 性能非常好 官方网址: https://nodejs.org/zh-cn/ win+r =>cmd node -v npm -v C:\Users\sam>node ‘node’ 不是内部或外部命令,也不是可运行的程序或批处理文件。 1.node卸载了 npm package manager npm包管理工具 add to path 自动将program file/nodejs/ 计算机->属性->高级系统设置->高级->环境变量 系统变量:path 加入的是node.exe的路径 C:\Program Files (x86)\Common Files\Oracle\Java\javapath; %SystemRoot%\system32; %SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0; C:\Program Files\Microsoft VS Code

Node.js下的Hello World

不想你离开。 提交于 2020-02-22 15:20:48
Node.js 技术现在可谓是如火如荼,前后端都统一为Javascript的体验绝对是受到了很多人的青睐,我都后悔以前没抽时间好好学一学Javascript了。 首先,我来介绍一下Node.js。本人实在是才疏学浅,对技术的认识不够,所以就借鉴了血多InfoQ上的好文,后面会给出链接。 Node.js采用C++语言编写而成,是一个Javascript的 运行环境 。重点就在这个运行环境四个字上。意思就是,你编写好的Js后端服务器代码,要通过Node来运行。拿Windows下来说,比如你要运行hello.js的后台代码,可以如下: D:\Nodejs>node hello.js 如果你代码没有错误的话,你就成功的运行了这个服务器。 关于Node.js的优势与特色,大家大可去google下,有很多前辈的文章都说明的非常清楚,总而言之, Node.js采用事件驱动、异步编程,为网络服务而设计,始终保持单线程,通过事件轮询,来实现并行操作。 下面,我为大家介绍一个简单的Node.js示例。我自己也是学习的 Node.js入门 ,这真的是针对初学者的教程,如果想亲自实践下Node.js的同学,完全可以忽视下面的内容,直接跳到该教程实践。 下面说一下我的文件结构: index.js //入口文件,包含了对应url和调用方法的字典 server.js //服务端启动文件 router.js /

leetcode133——Clone Graph

做~自己de王妃 提交于 2020-02-22 15:10:42
题目大意:生成无向简单图的克隆图(图结构相同,结点是新建的) 分析:DFS+MAP。 DFS的趴很好思考,就是克隆当前结点,然后遍历它的邻接表dfs克隆即可。 但是涉及一个问题——需要防止重复克隆同一个结点。所以需要类似visit数组一样的数据结构进行标记。 采用map<key,value>=map<node,newNode>,记录node的克隆结点。访问node时先判断是否克隆过,如果克隆过就直接返回,否则才新建newNode并加入map。 代码: /* // Definition for a Node. class Node { public: int val; vector<Node*> neighbors; Node() { val = 0; neighbors = vector<Node*>(); } Node(int _val) { val = _val; neighbors = vector<Node*>(); } Node(int _val, vector<Node*> _neighbors) { val = _val; neighbors = _neighbors; } }; */ class Solution { public: map<Node*,Node*> cloneNode; Node* cloneGraph(Node* node) { if(node

Java ---- 链表逆序

自古美人都是妖i 提交于 2020-02-22 15:02:56
public class LinkedListRevert { public static void main(String[] args) { Node next3 = new Node(4,null); Node next2 = new Node(3,next3); Node next = new Node(2,next2); Node head =new Node(1,next); Node tmp = head; // 保存首节点 while (head!=null){ System.out.println(head.value); head=head.next; } Node revertHead = revert(tmp); while (revertHead!=null){ System.out.println(revertHead.value); revertHead=revertHead.next; } } public static Node revert(Node head){ Node prev = null; Node next = head.next; while(head!=null){ next = head.next; head.next = prev; prev = head; head = next; } return prev; } }