Nodejs

作者: 冷r | 来源:发表于2019-08-02 20:45 被阅读0次

node介绍

  • nodejs 是基chrome V8弓擎的javascript运行环境( runtime )
  • Node.js使用了一个事件驱动、非阻塞式I/O的模型,使其轻量又高效。
  • npm是nodej的包管理工具

node优点

  • RESTful API
  • 单线程
  • Node可以在不新增额外线程的情况下,依然可以对任务进行并发处理一Node.js是 单线程的。它通过事件循环(eventloop)来实现并发操作,对此,我们应该要充分利用这一一点一尽可能的避免阻塞操作, 取而代之,多使用非阻塞操作。
  • 非阻塞I0
  • V8,虚拟机
  • 事件驱动

node作用

多加了一层通讯,肯定会有一定的性能损耗。但分层带来的损失,- -定能在其他方面的收益弥补回来,而

且合理的分层能让职责清晰、方便协作,大大提升开发效率。也可以通过优化通讯方式和协议,尽可能把

损耗降到最低。

node特性

  • nodejs 运行速度快,性能非常好

     v8是用c+实现,编译速度媲美进制语言,能够让计算机快速编译识别
    
  • 异步I/O ;

       I指代input 输入
       0指代output输出

node 安装

  • 验证

通过cmd命令窗口中输入下面命令,来检查是否安装成功:

C: \Users\S> node -v
C: \Users\S> npm -v

  • 为什么要配置环境变量?
  1. 因为我们想访问一个包或者一个文件,只能在它的存放路径去访问
  2. 如果想在其他路径访问,会报错,提示找不到文件或者命令

gulp -v
gulp不是内部或外部命令,也不是可运行的程序或批处理文件。

注意:修改好环境变星,需要重开cmd.exe命 令提示符

  • 自定义路径

npm config set prefix <指定npm全局安装包的存放路径>
npm config set cache <指定npm下包的缓存路径>

如果目录不存在,nodejs会自动创建

什么是单线程

  • 默认是单线程,代码按照文档流自上而下执行,以通过process来开启多进程

什么是非阻塞

nodejs提供了一套同步、一套异步的API, 建议我们使用异步编程,事件与回调

单线程容易阻塞服务器,通过异步操作(process) 开启多线程充分利用服务器的性能

npm介绍

npm是nodejs的包管理工具,可以用来下载第三方包(模块)

由于npm服务器在美国,国内由于“墙”的原因,国内访问缓慢

然后有了个cnpm(淘宝镜像,)是一个完整npmjs.org镜像,你可以用此代替官方版本(只读),同步频率目前为10分钟- -次以保证尽量与官方服务同步。

cnpm与npm的不同点

<u>cnpm具备除了publish及unpublish npm的所有功能</u>

安装

  npm install cnpm -g 
  npn config set registry https:// registry .npm. taobao .org

npm常用命令

npm adduser 登陆
npm clear cache 清除缓存
npm clean cache 清除缓存
npm config set <key> <value>
npm config get <key>
npm -h
npm --help 查看帮助

package 代表包的名称
-g 全局安装
-d 当前路径安装
--save 向包管理文件添加生产环境依赖
--save- dev 向包管理文件添加开发环境依赖
npm install <package> -g 安装
npm uninstall <package> -g 卸载

npm publish 发布
npm unpublish 取消发布

npm init 初始化项目
npm owner 一个包的作者
npm whoami 用户名
npm -V 查看版本号
npm run <> 执行包管理文件的某条命令
npm start  启动默认命令简写,npm run start
npm init 生成个包管理文件
npm i 等同于npm install

发布包的流程

  • npm init 初始化项目生成一个package.json

package.json是一个包管理文件

{
        //项目名称
        //1.不能有空格、汉字\,并且不能与npmjs. org育网的包重名
        "name": "nodejs",
        //项目版本号
        // v3,2.1
        // 3大版本我们的代码、ui界面有颠覆性的改变
        // 2小版本新增功能,修复bug
        // 1修复bug.缺陷提升用户体验
        "version": "1.0.0",
        //项目描述,包含一些关键字、功能描述
        "description": "my first nodejs project",
        //入口文件
        "main": "index. js",
        //快捷启动命令
        "scripts": {
            "test": "echo \"Error: no test specified\" && exit 1"
        },
         //项目要发行的时候需要的证书,平时玩玩忽略它
        "license": "MIT",
        // 包代码存放的地方的类型,可以是 git 或 svn,git 可在 Github 上
        "repository": {
                "type": "git",
                "url": "git+https://github.com/strongloop/express.git"
        },
        //项目的关键字,用于seo优化
        "keywords": [
            "nodejs",
            "express",
            "mysq1"
        ],
        //包的其他贡献者姓名。
        "contributors": [{
            "name": "Aaron Heckmann",
            "email": "aaron.heckmann+github@gmail.com"
        }, ],
        //作者
        "author": "sq",
        //版权信息
        "icense": "ISC",
        //生产环境依赖模块
        "dependencies": 0,
        //开发环境依赖模块
        "devDependencies": 0
    }
  • 登录用户、密码、邮箱

npm login

  • username 用户名
  • password 密码
  • email 邮箱
  • 发布 npm publish

相关文章

  • nodejs 到底是什么?

    理解 NodeJs Nodejs 自己使用了Openssl.在Nodejs 0.6之前, Nodejs是动态链接到...

  • centos7.3安装vue-cli

    1、安装vue需要安装nodejs,先去nodejs官网下载nodejs,https://nodejs.org/e...

  • NodeJS-简介&配置

    NodeJS-简介&配置 NodeJS NodeJS 中文网 NodeJS API 一、客户端的JavaScrip...

  • gulp最佳入门@小四

    一、安装nodeJs 说明:gulp是基于nodeJS,理所当然需要安装nodeJS; 安装:打开nodejs官网...

  • 项目构建---全步骤

    nodeJS安装 1.使用bower必须要安装nodeJS,因为bower就是用nodeJS编写的,nodeJS是...

  • 笔记 第六天 nodejs模块

    nodejs模块 nodejs 的文件操作 nodejs的io键盘交互 nodejs的url判断渲染模板 node...

  • nodeJs的下载及安装

    一、下载nodeJs 1. nodeJs的下载路径 (1)nodeJs官网:http://nodejs.cn/(2...

  • nodejs笔记

    nodejs教程 :http://www.runoob.com/nodejs/nodejs-tutorial.ht...

  • Cordova入门配置

    [TOC] Cordova 安装 安装NodeJS下载NodeJS https://nodejs.org/en/...

  • NodeJS 学习资料

    nodejs资源汇总(新手)从零开始nodejs系列文章Nodejs提炼与升华(一) 前言、Nodejs简介Nod...

网友评论

      本文标题:Nodejs

      本文链接:https://www.haomeiwen.com/subject/apmrdctx.html