1.Nodejs的安装及使用 / require引入模块 / module.exports导出模块 / npm包管理器 / fs模块 / buffer缓冲区 / stream流 / NVM版本

Node.js 

        诞生于2009年,Node.js采用C++语言编写而成,是 一个Javascript的运行环境。Node.js 是一个基于 Chrome V8 

        引擎的 JavaScript 运行环境 ,让JavaScript的运行脱离浏览器端,可以使用JavaScript语言 书写服务器端代码。


安装Node.js

        [Node.js官网](    https://nodejs.org    )下载稳定版本,node偶数版本为稳定版本,奇数版本为非稳定版本。

                - mac 直接安装  或者 brew来安装

                - 安装完Node.js会自动安装NPM(Node Package Manager):包管理工具;

                - Win + R , 输入cmd ,打开dos命令行,输入 node -v 查看NodeJS版本号;


使用淘宝的镜像网址

        npm config set registry http://registry.npm.taobao.org


安装cnpm

        npm install -g cnpm


安装yarn

        npm install -g yarn

        跟npm类似,更强大些,支持断点续传,区别不大


安装nodemon  可自动终止并重启服务器,自动刷新文件

        npm i nodemon -g

                终止服务 ctrl+C按两下


安装cookie模块在运行依赖

        npm i cookie -s


在项目文件夹创建package.json文件

        npm init -y

        创建一个package.json文件


package.json功能性

        "scripts"标签可以自定义简写,运行命令npm run mytest,结果执行someting... 

        echo输出


npm root 功能

        npm root -g

        显示 npm 包储存位置的根目录(其实就是 node_modules 的所在位置)


common.js规范

        - 自定义模块

                - 导入:require;(“./”问题)

                - 导出:module.exports或者exports;

                - node_modules里package.json配置;

                - node_modules查找规则(向上查找)

        - 内置模块

        - 内置模块不需要安装,外置模块需要安装;


npm网站可下载模块和文档

        npmjs.com


require引入模块

        require("./aModule")             //注意一定要有"./",文件后缀可加可不加。

module.exports 导出       自定义模块的按需导出

        通过module.exports 导出; \_\__dirname  , \_\_filename


npm包管理器      https://www.npmjs.com

        dependencies:运行依赖    jquery、vue、react      上线后依然需要  

        devDependencies:开发依赖    sass less    开发时方便,打包编译之后就无用了

npm常用指令

- npm i     --save-dev(-D) --save( -S );  package.json

        -  -g  

        - npm  root  、npm root -g


        - npm init:引导创建一个package.json文件

        - npm help(npm -h) :查看npm帮助信息

        - npm version (npm -v) : 查看npm版本;

        - npm search:查找

        - npm install (npm i):安装  默认在当前目录,如果没有node_modules 会创建文件夹;

        - npm install module_name -S 或者--save    即    npm install module_name --save    写入dependencies

        - npm install module_name -D  或者 —save-dev   即    npm install module_name --save-dev 写入devDependencies

        - npm install module_name -g 全局安装(命令行使用)

        - 指定版本安装模块   npm i module_name @1.0 通过  "@"符号指定;

        - npm update(npm -up):更新

        - npm remove 或者  npm uninstall:删除

        - npm root  查看当前包安装的路径  或者通过  npm root -g 来查看全局安装路径;


注册与发布

        - 注册账号:[https://www.npmjs.com/](https://www.npmjs.com/)   (邮箱验证)

        - npm  adduser 输入刚刚注册好的用户名和密码  ;

                如果注册地址不对需要重新改回来: 

        ``npm config set registry https://registry.npmjs.org/ ``  (官方地址)

        `https://registry.npm.taobao.org/`      (淘宝源地址)

                查询源地址

        `npm config list`


cnpm的安装及使用;

yarn包管理工具

        npm install -g yarn


fs文件操作模块

        所有文件操作都是有同步和异步之分,特点是同步会加上 "Sync" 如:异步读取文件  "readFile",同步读取

        文件 "readFileSync";

        所有文件操作 没有加Sync都是异步 否则是同步;

                let fs = require("fs");

        不加"utf-8",需要toString转换

文件操作

目录操作


buffer缓冲区  二进制的类

        内部传递文件快速高效,不需转码


stream流:流与数据处理方面密不可分

        流数据的获取

                - pipe 管道         读取1.txt写入到2.txt

                - data

                - end


使用NVM(Node Version Manager)控制Node.js版本

        - nvm是mac环境下管理nodejs的工具。在windows环境下推荐使用nvmw或者nvm-windows;

        - Nvm-windows  下载地址 https://github.com/coreybutler/nvm-windows   下载 nvm-setup.zip

安装NVM

        - 在安装nvm之前需要一个c++编译器,在mac上可以安装Xcode命令工具(已经安装可以忽略)

                `xcode-select --install`

使用 curl安装

        `curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash`

或者使用wget来安装

        `wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash` 


NVM [github的地址](<https://github.com/creationix/nvm>)可以查看最新版本

NVM常用指令

        ` nvm --version查看版本`  

        ``nvm install stable //安装最新稳定版nodejs``

        `` nvm install 8.11.1  //安装指定版本``

        ``  nvm install 8.11     //安装 8.11.x系列最新版本``

        `` nvm ls-remote      //列出远程服务器上所有可用的版本``

        `` nvm use 8.11.1    //切换到8.11.1版本``

        ``nvm use 8.11      //切换到8.11.x最新版本``

        ``  nvm use node   //切换到最新版本``

        ``  nvm alias default node //设置默认版本为最新版本``

        `` nvm ls   //列出所有已经安装的版本``


Google Chrome 默认非安全端口列表,尽量避免以下端口

        1,    // tcpmux

        7,    // echo

        9,    // discard

        11,   // systat

        13,   // daytime

        15,   // netstat

        17,   // qotd

        19,   // chargen

        20,   // ftp data

        21,   // ftp access

        22,   // ssh

        23,   // telnet

        25,   // smtp

        37,   // time

        42,   // name

        43,   // nicname

        53,   // domain

        77,   // priv-rjs

        79,   // finger

        87,   // ttylink

        95,   // supdup

        101,  // hostriame

        102,  // iso-tsap

        103,  // gppitnp

        104,  // acr-nema

        109,  // pop2

        110,  // pop3

        111,  // sunrpc

        113,  // auth

        115,  // sftp

        117,  // uucp-path

        119,  // nntp

        123,  // NTP

        135,  // loc-srv /epmap

        139,  // netbios

        143,  // imap2

        179,  // BGP

        389,  // ldap

        465,  // smtp+ssl

        512,  // print / exec

        513,  // login

        514,  // shell

        515,  // printer

        526,  // tempo

        530,  // courier

        531,  // chat

        532,  // netnews

        540,  // uucp

        556,  // remotefs

        563,  // nntp+ssl

        587,  // stmp?

        601,  // ??

        636,  // ldap+ssl

        993,  // ldap+ssl

        995,  // pop3+ssl

        2049, // nfs

        3659, // apple-sasl / PasswordServer

        4045, // lockd

        6000, // X11

        6665, // Alternate IRC [Apple addition]

        6666, // Alternate IRC [Apple addition]

        6667, // Standard IRC [Apple addition]

        6668, // Alternate IRC [Apple addition]

        6669, // Alternate IRC [Apple addition]

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容

  • NPM NPM 是随同 Node 一起安装的包管理工具,能解决 Node 代码部署上的很多问题,常见的使用场景有以...
    heyi_let阅读 2,517评论 0 2
  • 一、Node快速体验 1、 Node介绍 (1) Node.js是什么 Node 是一个基于Chrome V8 ...
    宠辱不惊丶岁月静好阅读 3,210评论 0 6
  • 什么是 NPM npm之于Node,就像pip之于Python,gem之于Ruby,composer之于PHP。 ...
    ihoey阅读 6,203评论 2 36
  • JavaScript 模块化编程 网站越来越复杂,js代码、js文件也越来越多,会遇到什么问题? 命名冲突; 文件...
    magic_pill阅读 1,345评论 0 1
  • npm是什么 NPM的全称是Node Package Manager,是随同NodeJS一起安装的包管理和分发工具...
    build1024阅读 7,680评论 0 8