一般来说,前端在部署的时候是在本地npm run build打成一个静态包再给到服务器

但是我们这里要求在服务器上npm run build,因为进行代码检测和自动化部署

1.我把本地文件压缩上传到linux服务器,npm run build报错,说是找不到vue-cli-server,这是由于Windows环境的node_modules和linux环境的不同,不能够直接复制

2.一般情况下,在linux上删掉node_modules,重新npm install就好了,然而我们的服务器是内网环境,无法下载依赖

3.我在自己的linux服务器上npm install,把安装好的linux下的node_modules拿出来(执行zip -r node_modules.zip node_modules来压缩后再下载)放进内网服务器,结果又报错,提示cannot find module ../package.json

4.出现这个的原因的,node_modules里边其实有一些map文件,当我执行zip -r时,这些文件没有被压缩进去,导致node_modules内部的文件路径找不到

5.执行zip -r -y node_modules.zip node_modules 把所有文件都压缩进来,把这个压缩包放进内网里就能够使用了

 

注:在Windows中右键压缩node_modules应该是类似zip -r的效果,我在Windows中解压再压缩一遍,再上传到内网服务器后又提示cannot find module ../package.json了

Logo

前往低代码交流专区

更多推荐