npm && node 环境搭建

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.下载安装包
$ wget http://down.abcdocker.com/node/node-v8.9.2-linux-x64.tar.xz
$ xz -d node-v8.9.2-linux-x64.tar.xz
$ tar xf node-v8.9.2-linux-x64.tar -C /usr/local/
$ ln -s /usr/local/node-v8.9.2-linux-x64 /usr/local/node

2.配置环境变量
$ echo "export PATH=$PATH:/usr/local/node/bin" >>/etc/profile
$ . /etc/profile && source /etc/profile

3.检查是否安装成功
$ node -v
v8.9.2

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

123.png-72.4kB


三、配置Node.js

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

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

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

alias cnpm="npm --registry=https://registry.npm.taobao.org \
--cache=$HOME/.npm/.cache/cnpm \
--disturl=https://npm.taobao.org/dist \
--userconfig=$HOME/.cnpmrc"

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

安装模块

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

$ cnpm install [name]

同步模块

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

$ cnpm sync connect

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

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

其它命令

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

$ 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环境需要在我这里启动,以上的步骤我们可以写个脚本。

[root@online-server2 m]# cat /etc/init.d/mobile 
#!/bin/bash
# chkconfig: 2345 77 47
# description: Tomcat is a Java Servlet Container
. /etc/init.d/functions
. /etc/profile
TOMCAT_HOME=/application/node/m

start () {
/usr/local/node/bin/npm run start &
    echo "$0 is  running"
}

stop () {
TOMCAT_PID=`ps -ef |grep "$TOMCAT_HOME" |grep -v "grep" |awk '{print $2}'`
if [ -z $TOMCAT_PID ];then
        echo "$0 is not running"
else
        echo "shutting down $0"
        kill -9 "$TOMCAT_PID" && echo "PID $TOMCAT_PID killed."
fi
}

status () {
TOMCAT_PID=`ps -ef |grep "$TOMCAT_HOME" |grep -v "grep" |awk '{print $2}'`
if [ -z $TOMCAT_PID ];then
        echo "$0 is not running"
else
        echo "$0 is running PID is $TOMCAT_PID"
fi
}

case $1 in
start)
start
;;
stop)
stop
;;
status)
status
;;
restart)
stop
start
;;
*)
echo "Usage:$0  {start|stop|status|restart}."
;;
esac
「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论
网站搭建
加入我们
  • 站长QQ:381493251一键联系
  • abcdocker 微信公众号
    abcdocker QQ群