windows npm打包无问题,但linux npm打包后部分样式缺失

原因

前端package.json中指定的是依赖版本范围,而linux中使用npm install安装的版本与windows不同。

例如"@ant-design/icons": "^4.0.0"

插入符号^意味着它可以安装最新的兼容版本。如果希望它安装特定版本,可以在版本前面删除^

详见package.json文档符号学

插入符号将让它安装一个不改变第一个数字的更高版本。例如,你的package.json为@ant-design/icons指定了^4.0.0,但它安装了4.6.2。由于4没有改变,所以这也是可以接受的安装版本。

解决方案:

若不想改变源代码,则将package.json复制替换一下就行。

将package.json.bak中的"^替换为"

表示不接受版本范围,指定固定版本。

然后将package.json复制为package.json.bak

打包命令如下

复制代码
rm -rf ./node_modules/*
rm -rf package.json
cp package.json.bak package.json
npm config set user 0 
npm config set unsafe-perm true
npm install
rm -rf ./dist/*
npm run build:prod
相关推荐
杨艺韬40 分钟前
vite内核解析-第2章 架构总览
前端·vite
我是伪码农1 小时前
外卖餐具智能推荐
linux·服务器·前端
2401_885885042 小时前
营销推广短信接口集成:结合营销策略实现的API接口动态变量填充方案
前端·python
小李子呢02112 小时前
前端八股性能优化(2)---回流(重排)和重绘
前端·javascript
皮皮林5512 小时前
强烈建议大家使用 Linux 做开发?
linux
IMPYLH2 小时前
Linux 的 od 命令
linux·运维·服务器·bash
程序员buddha2 小时前
深入理解ES6 Promise
前端·ecmascript·es6
吴声子夜歌2 小时前
ES6——Module详解
前端·ecmascript·es6
剪刀石头布啊3 小时前
原生form发起表单干了啥
前端
剪刀石头布啊3 小时前
表单校验场景,如何实现页面滚动到报错位置
前端