美文网首页nodejs相关
Node包管理NPM(二)

Node包管理NPM(二)

作者: simuty | 来源:发表于2016-10-10 14:07 被阅读118次

    $npm xmas

    情怀
    NPM是什么?

    NPM官网给出解释如下:

    Use npm to install, share, and distribute code; manage
    dependencies in your projects; and share & receive feedback with 
    others.
    
    

    其实说白了,就是字面意思---包管理工具,可以分享/重复利用/管理模块代码;它将某个独立的功能封装起来,用于发布、更新、依赖管理和版本控制.

    NPM与包之间的关系
    图片来源<深入浅出Node.js>

    Node组织了自身的核心模块, 同时也使得第三方文件模块可以有序的编写和使用,在第三方的模块中, 模块与模块之间是散列的不可以直接引用, 在模块之外, 包和NPM就可以将模块联系起来的一种机制。
    上面的图配上边的话, 解释的非常清楚, 但是得细细品味一下;

    安装依赖包

    Express 是一个基于 Node.js 平台的极简、灵活的 web 应用开发框架,它提供一系列强大的特性,帮助你创建各种 Web 和移动设备应用。
    为何先要引出这个Express?

    1. 它是一个流行的node.js的框架<依赖包>;
    2. Node.js官方推荐;
    3. 为了演示如何安装依赖包<框架>;

    十个最适合 Web 和 APP 开发的 NodeJS 框架

    第一 简洁的语法

    一行代码搞定npm install express. 它究竟做了什么?
    首先从NPM官网进行查找别人上传的代码.然后下载;

    当然下载的位置还分为了本地模式全局模式;

    第二 本地模式

    语法---npm install express
    安装位置---~/ node_modules
    默认情况下我们使用 npm install命令就是采用本地模式. 即把包安装到当前目录的 node_modules 子目录下<~/ node_modules >。Node.js 直接使用require('express');即可引入该包。

    第三 全局模式

    语法---npm install -g express
    那么为何已经可以用了, 还要用全局模式呢?

    全局模式其实将包安装到一个全局可以使用的位置, 为了减少多重副本而使用全局模式,而是因为本地模式不会添加PATH 环境变量。bin 目录没有包含在 PATH 环境变量中,不可以直接使用;

    步骤与实例

    第一步下载express

    $ npm install -g express
    
    

    第二步 配置使用, 创建一个简单的服务器app.js

    var express = require(‘express’); 
    var app = express(); 
    app.get(‘/’, function (req, res) {
     res.send(‘Hello World!’);
     }); 
    app.listen(3000, function () { 
    console.log(‘Example app listening on port 3000!’);
     });
    
    

    第三步 终端中执行node app.js

    第四步 打开浏览器, 输入http://127.0.0.1:3000/, 如下图所示

    屏幕快照 2016-10-10 下午2.03.05.png

    小技巧

    如果你有 PHP 开发经验,更改代码后直接刷新浏览器查看结果,但是运行node.js时, 却不好用, 必须重启。怎么办呢?
    第一 产生的原因
    Node.js 只有在第一次引用到某部分时才去解析该文件,以后都会直接接访问内存,避免重复载入,而 PHP 则是重新读取并解析脚本(如果没有专门的优化配置)。
    第二 优缺点
    Node.js的这种设计有利于提高性能,却不利于开发调试;
    第三 解决方法
    使用supervisor来解决; 步骤

    #下载supervisor
    $ sudo npm install -g supervisor
    #如果没有执行过node命令, 建议先执行
    $ node hello.js
    #然后再执行如下命令, 之后更改hello.js代码后直接刷新浏览器即可.
    $ supervisor hello.js
    

    Node版本区别:

    从对ES6的支持来简单的区分是

    0.x 完全不支持ES6
    4.x 部分支持ES6特性,并处在LTS阶段
    5.x 部分支持ES6特性(比4.x多些),属于过渡产品,现在来说应该没有什么理由去用这个了
    6.x 支持98%的ES6特性
    
    

    Node.js Long-term Support Working Group
    Node.js Changelog

    更多精彩内容请关注“IT实战联盟”哦~~~


    IT实战联盟.jpg

    相关文章

      网友评论

        本文标题:Node包管理NPM(二)

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