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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM