Node.js 环境搭建

摘要

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。

Node.js 环境搭建

node.js


一、Node.js 简介

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。
Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。
Node.js 的包管理器 npm,是全球最大的开源库生态系统。

Node.js你需要知道

你应该了解一些基本的计算机编程术语。如果你学习过Javascript,PHP,Java等编程语言,将有助于你更快的了解Node.js编程。 
如果你是一个前端程序员,你不懂得像PHP、Python或Ruby等动态编程语言,然后你想创建自己的服务,那么Node.js是一个非常好的选择。

Node.js 是运行在服务端的 JavaScript,如果你熟悉Javascript,那么你将会很容易的学会Node.js。

当然,如果你是后端程序员,想部署一些高性能的服务,那么学习Node.js也是一个非常好的选择。

提示:nodejs 只是需要运维部署,它相当于一个容器,类似于JDK环境一样

Nodejs官网:https://nodejs.org
Nodejs中文网:http://nodejs.cn/


二、Node.js 安装

  1. 1.下载安装包
  2. $ wget https://nodejs.org/dist/v8.9.2/node-v8.9.2-linux-x64.tar.xz
  3. $ xz -d node-v8.9.2-linux-x64.tar.xz
  4. $ tar xf node-v8.9.2-linux-x64.tar -C /usr/local/
  5. $ ln -s /usr/local/node-v8.9.2-linux-x64 /usr/local/node
  6. 2.配置环境变量
  7. $ echo "export PATH=$PATH:/usr/local/node/bin" >>/etc/profile
  8. $ . /etc/profile && source /etc/profile
  9. 3.检查是否安装成功
  10. $ node -v
  11. v8.9.2

温馨提示: 建议使用二进制包,不使用源码包,因为编译会有很多依赖的问题
123.png-72.4kB


三、配置Node.js

因为npm是国外的镜像站,我们下载东西会比较慢,这里我们安装阿里云国内的镜像,同步频率为10分钟一次

  1. $ npm install -g cnpm --registry=https://registry.npm.taobao.org

或者你直接通过添加 npm 参数 alias 一个新命令:

  1. alias cnpm="npm --registry=https://registry.npm.taobao.org \
  2. --cache=$HOME/.npm/.cache/cnpm \
  3. --disturl=https://npm.taobao.org/dist \
  4. --userconfig=$HOME/.cnpmrc"
  5. # Or alias it in .bashrc or .zshrc
  6. $ echo '\n#alias for cnpm\nalias cnpm="npm --registry=https://registry.npm.taobao.org \
  7. --cache=$HOME/.npm/.cache/cnpm \
  8. --disturl=https://npm.taobao.org/dist \
  9. --userconfig=$HOME/.cnpmrc"' >> ~/.zshrc && source ~/.zshrc

安装模块
registry.npm.taobao.org 安装所有模块. 当安装的时候发现安装的模块还没有同步过来, 淘宝 NPM 会自动在后台进行同步, 并且会让你从官方 NPM registry.npmjs.org 进行安装. 下次你再安装这个模块的时候, 就会直接从 淘宝 NPM 安装了.

  1. $ cnpm install [name]

同步模块
直接通过sync命令马上同步一个模块, 只有cnpm命令行才有此功能

  1. $ cnpm sync connect

当然, 你可以直接通过 web 方式来同步: /sync/connect

  1. $ open https://npm.taobao.org/sync/connect

其它命令
支持 npm 除了 publish 之外的所有命令, 如:

  1. $ cnpm info connect

四、淘宝 NPM 镜像

五、案例

Node环境主要是用于前端环境,例如移动官网(手机打开百度的页面)。这里我们给大家演示一下

1.首先我们要在svn把代码拉去下来,因为node环境主要是的文件就是package.json,没有这个文件是没法进行构建的

image_1c0ljkit81m5ijcv3vg13jq1nprl.png-63.2kB

2.执行cnpm install或者npm 进行构建
image_1c0ljnavt8o4pcf1hok7k7119l12.png-17.3kB

3.执行npm run build 进行打包
QQ图片20171206175153.png-38.7kB

成功的结果如下:(只要没有error就可以)
11111111.png-72.7kB

3.执行npm run start & 我们要执行& 后台运行
22222.png-23.6kB

结果:我们这个项目用的是最新的,以前的只需要静态文件即可,我也不太清楚为啥这次的node环境需要在我这里启动,以上的步骤我们可以写个脚本。

  1. [root@online-server2 m]# cat /etc/init.d/mobile
  2. #!/bin/bash
  3. # chkconfig: 2345 77 47
  4. # description: Tomcat is a Java Servlet Container
  5. . /etc/init.d/functions
  6. . /etc/profile
  7. TOMCAT_HOME=/application/node/m
  8. start () {
  9. /usr/local/node/bin/npm run start &
  10. echo "$0 is running"
  11. }
  12. stop () {
  13. TOMCAT_PID=`ps -ef |grep "$TOMCAT_HOME" |grep -v "grep" |awk '{print $2}'`
  14. if [ -z $TOMCAT_PID ];then
  15. echo "$0 is not running"
  16. else
  17. echo "shutting down $0"
  18. kill -9 "$TOMCAT_PID" && echo "PID $TOMCAT_PID killed."
  19. fi
  20. }
  21. status () {
  22. TOMCAT_PID=`ps -ef |grep "$TOMCAT_HOME" |grep -v "grep" |awk '{print $2}'`
  23. if [ -z $TOMCAT_PID ];then
  24. echo "$0 is not running"
  25. else
  26. echo "$0 is running PID is $TOMCAT_PID"
  27. fi
  28. }
  29. case $1 in
  30. start)
  31. start
  32. ;;
  33. stop)
  34. stop
  35. ;;
  36. status)
  37. status
  38. ;;
  39. restart)
  40. stop
  41. start
  42. ;;
  43. *)
  44. echo "Usage:$0 {start|stop|status|restart}."
  45. ;;
  46. esac


历史上的今天:

  1. 2016:  Submin+apache+svn 图形化管理(1)
新闻联播老司机

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: