nodejs相关

Node包管理NPM(二)

2016-10-10  本文已影响118人  simuty

$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
上一篇 下一篇

猜你喜欢

热点阅读