npm && node 环境搭建

2023年 5月 4日 122.2k 0

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

  • Node.js 环境搭建一、Node.js 简介
  • 二、Node.js 安装
  • 三、配置Node.js
  • 四、淘宝 NPM 镜像
  • 五、案例
  • 一、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 cnpmnalias 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 镜像

  • 当前 registry.npm.taobao.org 是从 r.cnpmjs.org 进行全量同步的.
  • 当前 npm.taobao.org 运行版本是: cnpmjs.org@3.0.0-alpha.15
  • 本系统运行在 Node.js@v8.9.0 上.
  • 开源镜像: http://npm.taobao.org/mirrors
  • Node.js 镜像: http://npm.taobao.org/mirrors/node
  • alinode 镜像: http://npm.taobao.org/mirrors/alinode
  • phantomjs 镜像: http://npm.taobao.org/mirrors/phantomjs
  • ChromeDriver 镜像: http://npm.taobao.org/mirrors/chromedriver
  • OperaDriver 镜像: http://npm.taobao.org/mirrors/operadriver
  • Selenium 镜像: http://npm.taobao.org/mirrors/selenium
  • Node.js 文档镜像:http://npm.taobao.org/mirrors/node/latest/docs/api/index.html
  • NPM 镜像: https://npm.taobao.org/mirrors/npm/
  • electron 镜像: https://npm.taobao.org/mirrors/electron/
  • node-inspector 镜像: https://npm.taobao.org/mirrors/node-inspector/
  • 五、案例

    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
    

    相关文章:

    1. Kubenetes 1.13.5 集群二进制安装
    2. Kuerbernetes 1.11 集群二进制安装
    3. Kubernetes 1.14 二进制集群安装
    4. 老男孩Shell企业面试题30道 [答案]

    相关文章

    服务器端口转发,带你了解服务器端口转发
    服务器开放端口,服务器开放端口的步骤
    产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
    如何使用 WinGet 下载 Microsoft Store 应用
    百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
    百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

    发布评论