Node
这一节主要讲如何去配置一个node环境,除了安装node之外,我们还需要安装npm。
node安装
因为我的大部分开发都是在ubuntu下面进行的,所以这个文档默认会使用ubuntu作为讲解。当然,也会提到windows下面的处理方法,但是因为我很少在windows下面实践,所以windows里面的坑就不去挖了。
1)采用apt安装
ubuntu可以使用apt快捷安装:
$ sudo apt install nodejs
2) 编译安装
一般apt源中的node都不是最新的稳定版,而现在官方提供的最新稳定版是6.9.1,所以我们可以通过下载官网的最新版本,在本地进行编译安装。
$ wget https://nodejs.org/dist/v6.9.1/node-v6.9.1.tar.gz
$ tar -zxvf node-v6.9.1.tar.gz
$ cd node-v6.9.1
$ ./configure
$ make
$ make install
$ make test
在linux下面,都可以通过源码编译安装。上面使用到了wget, tar, make,如果这些软件在你的ubuntu上面都没有安装,可以通过apt进行安装。
wget有的时候并不支持https,这个时候一般在wget后面加一个参数--no-check-certificate
就可以解决。
3) windows下面安装node
到node的官网去下载稳定版的node exe/msi安装文件,下载下来之后,像安装普通软件一样安装好。
安装npm
什么是npm?它是Node Package Manager的缩写,及一个包管理工具。最近facebook发布了yarn,也是和npm一样的包管理工具,而且性能上比npm更好,有兴趣的同学可以尝试一下。
为什么要管理node的包?在node中,javascript以模块的形式存在。虽然我们可以像node test.js
这样去执行某个脚本,但是它天生具备module功能。在node中通过require引入一个模块,在模块中使用module.exports导出模块的接口。而模块,通常情况下就是一个js文件,但是有些模块功能比较复杂,被切割到不同的js文件中,虽然这些js文件都是模块,但是把这些为实现同一个功能的js放在一个文件夹下面,用一个js作为统一对外的接口,再在这个文件夹内放一个package.json,这样的放在一个文件夹下面的一组文件,被成为“包”,也就是package,package.json里面规定了包名,出口文件是哪一个等信息。关于package,我们会在后面的文档讲到。
在ubuntu里面,同样可以使用apt安装和编译安装两种安装方式。
$ sudo apt install npm
编译安装就不介绍了。因为我们可以通过npm升级自身到最新的版本。
$ npm install -g npm
这是一种奇怪的升级办法,npm本身也是node的一个模块,但是在我们通过apt安装npm之前,没法使用npm,但是安装了npm之后,就可以用npm安装自身,甚至可以在后面跟上@版本,这样可以随意在不同版本的npm之间切换。
注意:升级npm之后,应该先关掉你的terminal后重新打开,我不知道这是为什么,但是实践上需要这样做,否则仍然还在使用老版本的npm。
windows版最新的node自带了npm包管理工具,所以不需要另外在下载安装。但升级到最新版本的方法可以一样。
安装git
git不算是node环境的东西,但是是安装一些特定的npm包需要的必备武器。
$ sudo apt install git
安装python2.7 (可选)
最好还是安装一下python,可能会在后面的一些插件中需要。当然,你也可以暂时先不安装,到需要的时候再安装。
$ sudo apt install python
安装bower (可不安装,扩展阅读)
什么是bower?bower也是包,但是它和npm不同,npm管理的是node的模块包,而bower是独立的各种软件包,比如jquery、bootstrap,它们也可以通过npm来安装,也可以通过bower来安装。bower和npm之间有很多人进行对比,其实没有必要,我感觉bower比较简单干净,不会将依赖打包到自己的包里,而npm包会把自己依赖的包打包在自己内部。
所以我在实践中,大部分浏览器端要用的包都用bower进行安装。
你也可以不安装bower,等到要的时候再安装。
$ npm install -g bower
注意,bower默认情况下不允许用root用户去执行。不过一般ubuntu默认都不是root用户。但是比较坑的是,在ubuntu上面,有时候npm又得用root去执行,这取决于文件的可写权限。所以你只需要记住,npm需要sudo,bower不需要sudo就可以了。或许这也是我更喜欢用bower的原因。
现在,你已经搭建好了node环境,你的node环境里面还有npm和git,现在可以随便写一个js文件,然后用node去执行一下它试试。 要退出node执行状态,
Ctrl+C
就可以了。