初识Node.js

Node.js 究竟是什么?

       Chrome 浏览器  比其它浏览器要快  其原因之一是因为 Chrome 有个叫 V8 的东西,可以高效地解析 JavaScript。

       V8 会将JavaScript编译成原生机器码(IA-32,x86-64,ARM,MIPS 等),并且会使用内联缓存等方法来提高性能。据传说,在 V8 的帮助下,JavaScript 的运行效率直逼二进制程序。然而与 V8 相比,Node.js 功能更多,例如直接访问文件系统处理二进制数据等。所以我们可以用 JavaScript 的语法来写各种各样的本地工具。其中最著名那些就是前端自动化构建工具了:Webpack、Gulp、Grunt……那么就顺便插播一段前端的故事。

A long time ago in a galaxy far, far away...

前端的概念无非是 HTML、CSS、JavaScript,当时页面的样式和交互还没有现在那么复杂,所以只需要完成基本的样式显示和数据操作就好了。

As time went by...

各种复杂的页面相继出现,甚至出现了 Angular、React 这样的大工程。为了提高网页的加载速度,前端们不得不在发布前将所有的文件拼合在一起并混淆压缩以节省流量和请求数。

         上面提到的三款工具,任意一款都可以满足这种需求。当配置好了之后,我们只要在命令行执行一句 grunt build ,就可以将各种零散的代码文件拼接起来并混淆压缩,甚至还可以对图片进行压缩;执行一句      gulp serve,就可以直接在本地开启一个小型服务器来预览我们写的效果。

Node.js 的好帮手:NPM

       其实 Node.js 的程序员几乎不输入node 命令,他们用的最多的命令是 npm。所以 NPM 又是个什么东西呢?这又不得不提到两个概念:包、依赖

还记得刚才提到的“使用 grunt build  对图片进行压缩”嘛?其实压缩这一步不是 Grunt 做的,而是一个叫 imagemin 的工具做的。如果想安装它,可以从 GitHub 上面下载对应的代码,然后再将这家伙依赖的 36 个项目的代码也下下来,它们是: gulp-imagemin、node-atlas、cropshop……然后再将这些项目的依赖也……

       坑爹呢!

       还好我们有 NPM,只需要再 npm install -g imagemin,NPM 就会从指定的源(默认是官方源)中读取 imagemin 的依赖,然后再读取这些依赖里面的依赖……通过拓扑排序生成一个安装序列,然后自动帮你装好所有需要的东西,如果你的指令中带了 -g,那就是全局安装,执行起来就跟原生的命令行工具一样自然。当然你也可以一条命令就将它们删掉。

       一个工具就是一个包。NPM 的全称就是 Node Package Manager。

      摘自:https://blog.coding.net/blog/nodejs-webhook

原文地址:https://www.cnblogs.com/CassieHouse/p/5853533.html