解决内网部署Node项目build时提示cannot find module ../package.json

一般来说,前端在部署的时候是在本地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了

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值