• Nodejs环境打包前端项目


    Node.js 在Linux下安装和环境搭建/编译项目

    安装nodejs:
    1.下载nodejs源码包

    wget https://nodejs.org/dist/v14.16.0/node-v14.16.0-linux-x64.tar.xz
    #wget https://mirrors.tuna.tsinghua.edu.cn/nodejs-release/v10.5.0/node-v10.5.0-linux-x64.tar.xz

    2.解压

    xz -d node-v14.16.0-liunx-x64.tar.xz / tar -xzvf node-v14.16.0-liunx-x64.tar.gz
    tar -xvf node-v6.10.3-liunx-x64.tar

    3.创建软连接

    mv node-v14.16.0-liunx-x64 /usr/local/nodejs
    ln -s /usr/local/nodejs/bin/node /usr/local/bin/node
    ln -s /usr/local/nodejs/bin/npm  /usr/local/bin/npm

    4.查看nodejs环境是否安装成功

    node -v
    npm -v

    5.安装cnpm 使用淘宝源

    npm install -g cnpm  --registry=https://registry.npm.taobao.org
    rm -rf /usr/local/bin/cnpm
    ln -s /usr/local/nodejs/lib/node_modules/cnpm/bin/cnpm    /usr/local/bin/cnpm
    cnpm -v

    编译项目:

    需要先下载前端项目源代码/ 然后进入项目代码目录

    # 例如:
    git clone http://192.168.16.20/tiptop-statement/web-client.git
    
    cd web-clent

    安装项目所需依赖

    cnpm install

    项目打包

    # fef test
    cnpm run build

    如果打包过程中,fef命令无法使用,做如下操作:

    注: 这里打包项目 需要fef命令,因为手动安装容易失败,所以上传我编译好的nodejs目录文件包。

     解压到/root/家目录下 并且设置软连接:

    find / -name feflow
    ln -s /root/.npm-global/lib/node_modules/@feflow/cli/bin/feflow /usr/local/bin/fef
    
    # 生效变量
    source
    /root/.bashrc

    项目打包完成后,会额外生成一个文件夹 dist 。 主要将文件夹中的内容拷贝到nginx或者httpd的发布目录下即可。

    例如是nginx

    # 先备份原来的项目代码
    tar czf web.tar.gz /usr/local/nginx/html/*  /data/backup/
    
    # 拷贝打包好的项目代码到nginx发布目录
    cp -r dist/* /usr/local/nginx/html/

    Jenkins配合shell脚本案例

    case $Status in
      Deploy)
        {
        echo "Status:$Status"
        echo "version:$BUILD_NUMBER"
        NPM_PATH="/usr/local/bin/cnpm"
        FEF_PATH="/usr/local/fef_test/bin/fef"
        BACKUP_PATH="/backup/batar-entrance-guard/entrance-guard-web"
        PROJECT_FILE="/project/batar-entrance-guard/entrance-guard-web/dist"
        cd $WORKSPACE
        source /home/batar-exam/.bashrc
        sudo $NPM_PATH install
        /usr/local/fef_test/bin/fef test
        if [[ -d ${PROJECT_FILE} ]];then
            rm -rf  $PROJECT_FILE  
        fi
        cp -rf $WORKSPACE/dist $PROJECT_FILE
        #备份项目文件
        cp -rf $WORKSPACE/dist $BACKUP_PATH/$BUILD_NUMBER-dist
        }
        ;;
      Rollback)
        {
        echo "Status:$Status"
        echo "version:$Version"
        BACKUP_PATH="/backup/batar-entrance-guard/entrance-guard-web"
        PROJECT_FILE="/project/batar-entrance-guard/entrance-guard-web/dist"
        if [[ -d ${PROJECT_FILE} ]];then
            rm -rf  $PROJECT_FILE  
        fi
        cp -rf $BACKUP_PATH/$Version-dist $PROJECT_FILE
        }
        ;;
      *)
      exit
          ;;
    esac
  • 相关阅读:
    Leetcode第七题——数的反转
    Leetcode第六题——横向遍历ZIGZAG数组
    26 将查询结果插入到一张表中?
    25 表的复制
    24 insert 语句插入数据
    23 创建表
    22 limit(重点中的重点,以后分页查询全靠它了。)
    21 union(可以将查询结果集相加
    20 子查询
    19 连接查询
  • 原文地址:https://www.cnblogs.com/fengyuanfei/p/14519340.html
Copyright © 2020-2023  润新知