Node.js入门(一):引入、安装配置、常见概念以及npm常用命令

最近在网上找了一些视频,对node.js简单学习一下,学的同时,也对自己学的内容做了一些梳理,发文章,主要是记录一下收获,如果顺便能对看到这篇文章的朋友起到一点帮助,那就更是再好不过了~

什么是 Node?

node.js是门技术不是语言(主要是我刚开始有点混淆(捂脸))

V8 
    JavaScript 解析执行引擎   ECMAScript
中间层 
    (提供了文件操作、网络操作登陆接口)更加接近操作系统的接口供开发人员使用**(C++编写)**
硬件层

特点:
    用事件驱动、无阻塞的io模型
    优势轻量、高效
  • node运行环境基于v8引擎

      javaScript 
          -> chrome V8 
              -> libuv(中间层,C++) 
                  -> 硬盘,网卡等硬件了
    特点用事件驱动、无阻塞的io模型
    优势轻量、高效
    
  • node是门技术不是语言

     java开发、.net、c#、node js开发、iOS开发
    
以下是几条对Node.js的官方解读:

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

1. JavaScript runtime  JavaScript 运行时
2. Chrome's V8 JavaScript engine Chrome 浏览器 V8 引擎
3. Node.js 是一个 构建于 谷歌的 Chrome 浏览器的 V8 引擎之上的一个 `JavaScript运行时` 环境
4. Node.js可以解析和执行 JavaScript 代码

Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient.

1. event-driven  事件驱动模型
2. non-blocking I/O model  非阻塞IO模型  IO(input/output)输入与输出
3. lightweight  轻量级
   在软件开发行业中,轻量级标识褒义词
   轻量级也就意味着 运行速度快
   轻量级也就意味着有更好的 跨平台 特性(平台的差异性,兼容性)
4. efficient 高效的
5. Node.js的事件驱动和非阻塞IO模型使得Node.js本身非常的轻量和高效

Node.js' package ecosystem, npm, is the largest ecosystem of open source libraries in the world.

1. package ecosystem npm  包生态系统 npm
2. largest  最大的
3. open source libraries 开源库
 理论意义上 开源就表示有成熟的社区,开放源代码
4. Node.js 的npm包生态系统,是世界上 最大的 开源库 生态系统
5. 以前的 客户端中 JavaScript 库 散列在互联网的各个地方
6. npm 就是 把大家经常使用的一些开源库 给 组织到了一起
Node 是一个可以解析和执行 JavaScript 代码的 运行时环境 
              - Node.js 的作者  瑞恩.达尔

安装与配置

官网的nodejs版本,注意用偶数的,别用奇数的,偶数的是稳定版本,这一点在版本发布图中也可用看出来..

nvm安装法

nvm 安装和管理我们的 Node.js版本,但是首先,你得安装nvm...
安装命令:
    curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.6/install.sh | bash
然后设置全局变量,就可以使用了(设置全局变量的方法...就不赘述了吧...)

在这里说一下node相关的三个命令:nvm, npm, nrm

nvm - node版本的管理工具
    nvm Githup项目地址:
        https://github.com/coreybutler/nvm-windows 
    nvm list
        查看所有已安装的本地的node版本
    nvm use 版本号
        切换node版本
    nvm install 版本号 位数
        安装指定版本的node
    nvm uninstall 版本号
        卸载已安装的指定版本的node

npm - node的包管理工具

nrm - npm的数据源管理工具
    npm install -g nrm 
    nrm ls 查看数据源
    nrm test 测试你的网连那个npm的数据源快
    nrm use 切换数据源
    
    可以使用cnpm - 淘宝镜像,加快网速

安装包的方式安装

常见的错误

1. 安装了node 没有卸载 
2. 32和64搞混了 
3. 拼写错误,路径错误

npm

  • 基于Node.js开发的包的托管网站
  • 基于包的规范实现的Node.js包管理工具
  npm init  创建package.json文件
npm install  将package.json中的文件依赖的包从网上下载到本地
npm install -save 包名  将包下载下来并且加载到dependencies中去
    npm i -S 包名 替代上面的命令
npm install -save-dev 包名 将包下载下来并且加载到devDependencies中去
    npm i -D 包名 替代上面的命令
npm docs 包名 查看包的文档
    
npm list 
        当前目录有什么包,检测node_modules里面有什么

npm install 包名

    当执行npm install的时候,它会自动跑到npm的网站,然后找到该包的github地址,
    找到之后,下载这个压缩包,然后在执行npm install的当前目录下找一个叫做node_modules目录
        如果找到,直接解压这个压缩包,到node_modules目录下
        如果找不到,则新建一个node_modules目录,解压到该目录

npm install -g 包名

    表示全局安装   
    npm在安装的时候,在全局设置了一个安装目录,只要是全局安装就会把包安装到这个目录里面去
    '只要是全局安装就是安装命令行工具'

npm install,缩写 npm i

    当执行npm install的时候,会自动在当前目录中查找package.json文件
    如果找到,找里面的devDependencies、 dependencies 字段,安装该字段中所有依赖的项

npm config set prefix  修改全局安装目录
    不建议使用,建议去文件夹里面改 C:\Users\用户名  里面有一个 .npmrc文件 
    去里面改prefix = C:\dev\npm  (写你的路径)
    去全局的环境变量path里把C:\dev\npm  路径加进去


以后在做项目的时候,先初始化一个package.json文件,在安装第三方包依赖的时候,必须使用npm install --save express,添加依赖项到package.json文件中,
实际就是添加到dependencies字段中

参考文献 npm的命令 https://docs.npmjs.com/

npm的最终的目的就是:让开发模式工程化,都依靠工具来管理

注意:
当我们安装好node.js —>
安装好npm(node.js自带的) —> 然后利用npm下载拉取其他库的时候,可能会报错:no such file or directory, open '/Users/usr/package.json'

解决办法:
    检测npm是不是最新版本的,因为node.js安装,虽然会自带npm,但是npm的迭代更新比node.js要快
    更新npm版本,或者重新下载node.js(此次解决办法:重新下载安装了最新版本的node.js/npm,然后突然就好了~)

node命令 执行js文件

用node执行js文件,文件在当前目录下---->node +文件名
如果不在当前目录下,node +文件路径的形式执行

//运行普通的nodejs文件,与nodejs服务器文件,都是node指令,区别在于后者能开启一个服务

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

推荐阅读更多精彩内容