Nodejs环境打包前端项目 | 您所在的位置:网站首页 › nodejs课程 › 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.xz2.解压 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.tar3.创建软连接 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/npm4.查看nodejs环境是否安装成功 node -v npm -v5.安装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
|
CopyRight 2018-2019 实验室设备网 版权所有 |