当前位置: 首页 > news >正文

在ubuntu好部署jenkins发布vue项目时遇到的一些问题及解决方法以及使用jenkins发布vue项目-npm自动打包发布的实现

一、在ubuntu好部署jenkins发布vue项目时遇到的一些问题及解决方法

1. 问题:webpack-dev-server不是内部或外部命令,也不是可运行的程序

解决:使用webpack要安装webpack-cli这个包,才可以调用webpack和webpack-dev-server这些命令。

npm install webpack webpack-dev-server webpack-cli --save-dev

2.webpack——Error: Cannot find module 'extract-text-webpack-plugin'

解决:在项目目录下依次执行

#全局安装npm init:
npm init -y -g
#全局安装webpack:
npm install webpack -g
npm install webpack --save-dev -g
#全局安装extract-text-webpack-plugin:
npm install --save extract-text-webpack-plugin

3.Module build failed: Error: Node Sass does not yet support your current environment: OS X 64-bit wit

        先卸载,再安装:如卸载不成功,直接删除node-sass文件夹

npm uninstall --save node-sass 
npm install --save node-sass

4.(node:8972) Warning: Accessing non-existent property 'cat' of module exports inside circular dependency (Use `node --trace-warnings ...` to show where the warning was created)

问题出在Node版本太高,我开始用的最新版的Node15+, 后来换成了版本12+,如下:

+ npm -v  6.14.8
+ node -v  v12.20.0

5.ERROR in ./src/router/index.js Module not found: Error: Can't resolve '@/view/system/test' in '/var/jenkins_home/workspace/project/src/router' @ ./src/router/index.js 54:15-52

        在本地windows上运行的时候正常,放服务器上发现这个模块这里就是报错,最后排查发现是大小写的问题,windows上文件大写,resolve那里小写正常,但放linux上就不行了。

6. 其它:

        在Vue项目中可能偶尔都会碰到Module not found: Error: Can't resolve 'xxxxx' ,就像是python里找不到某个包一样,执行安装这个包即可。比如找不到vue-route就需要安装vue-route包。

npm install vue-router --save
npm install 不能解决的包 --save

        然后在安装了一些包的时候还是解决不了的话,可以试着删除node_modules这个文件夹,然后重新使用npm install安装再打包,这个操作在其它的方法都不见效果的时候或许就能发挥大作用。

二、使用jenkins发布vue项目-npm自动打包发布的实现

        发布vue项目和发布其它的项目不同的地方在于需要使用npm进行安装依赖包,然后再基于当前的依赖包打包出dist文件夹及其内容,然后将生成的静态文件内容发布到服务器上,我之前也发布过vue项目,但那时为了省事,直接由开发人员将项目打包,并将打包后的代码和src源码一起上传至svn/git仓库,然后jenkins中只需要将dist文件中的内容发布到服务器即可。虽然也可以,但难免不够自动化。

        使用jenkins发布时可以直接配置自动打包的过程,首先需要在jenkins服务器上安装nodejs环境,业务服务器上不需要,所有业务服务器只需要nginx运行打包出来的dist内容,打包只在jenkins服务器上执行一次。jenkins服务器上安装nodejs环境,可以自己安装,也可以在jenkins中配置自动安装。进入jenkins:系统管理–>全局工具配置–>安装nodejs, 钩先自动安装,然后选择nodejs版本,建议12.*版本。Nodejs别名一定要填写(随便写个什么都行,比如nodejs),保存即可。如下图:

        然后进入项目配置环节,在执行shell命令中输入,执行构建即可:

#列出当前的npm,node版本(只起个提示作用)
npm -v
node -v#安装node-sass
SASS_BINARY_SITE=https://npm.taobao.ort/mirrors/node-saas/ npm install node-sass#执行项目中的npm 安装完成后打包。
npm config set registry https://registry.npm.taobao.org
npm install
npm run build#执行项目代码中的python脚本发布
fab -f deploy/fabfile.py production deploy


http://www.mrgr.cn/news/44505.html

相关文章:

  • 代码随想录算法训练营第二十六天|669. 修剪二叉搜索树 108.将有序数组转换为二叉搜索树 538.把二叉搜索树转换为累加树
  • 【Linux探索学习】第三弹——Linux的基础指令(下)——开启新篇章的大门
  • 【高阶数据结构】二叉树进阶探秘:AVL树的平衡机制与实现详解
  • c语言中,数组指针、指针数组、函数指针、指针函数
  • 富格林:领悟可信经验避免暗箱
  • 【C++】二叉搜索树+变身 = 红黑树
  • Final Glory推出“荣耀勋章-神龙”,游戏市场反响激烈
  • [含文档+PPT+源码等]精品大数据项目-基于python爬虫实现的大数据岗位的挖掘与分析
  • 电感七大关键参数
  • 工业缺陷检测深度学习方法
  • #Swift 递归枚举 VS Struct 实现自引用 数据结构 (链表 二叉树)
  • 蒙特卡罗方法 -引言篇
  • C++学习笔记----8、掌握类与对象(五)---- 嵌套类与类中枚举
  • 推荐系统中的协同过滤
  • 【MySQL】--数据类型
  • Spring Boot框架在医院管理中的应用
  • Docker 实践与应用举例
  • @KafkaListener注解中containerFactory属性的作用
  • Arthas match Elasticsearch
  • 深入理解 Spring Cache 的工作原理及集成其它第三方缓存