前端开发环境保持一致,多平台保持一致的效果

 uka9032934 发布于 2022-11-25 20:04

在实际的工作中,有遇到一个问题:各个平台的开发环境不一致!!!

不一致的原因,取决于:

node.js版本不一致

npm的版本不一致

操作系统不一致

解决办法

使用nvm管理node.js版本,保持版本一致,这个在mac和linux中效果很好,但是反人类的window,呵呵...

保持npm版本一致,不同版本的npm生成的node_modules文件夹是有可能不一致的

使用新出炉的yarn管理包,锁定版本

结果:

然而并没有什么卵用

在公司,使用mac能把项目跑起来,然后回到家,用archlinux一跑,立马就跪了

当然这个只是小问题

关键是,我们的美工,使用window(反人类的东西),结果你懂的,每次配置环境,说多了都是泪

待商榷的方案

使用docker搭建一个容器,共有容器,然后映射外部目录,这样就能保证大家的开发环境一致。

没错,这次又是window出了问题,不能够watch文件变化,mac和linux均正常。

各位有什么好的解决方案

最后吐槽

node-sass搞尼玛那么多依赖,还各种问题


3 个回答
  • npm强制锁版本,这是最简单且暴力的方法。

    其实你的这个问题不仅是前端或node有,linux开发、php开发(如果也用库控制工具)也会面临。只不过npm的库更新的比较快。公司在开发vue时用的1.0,等准备发布了npm上都更新到2.0了,几乎所有人写的代码都报废了。多数人向来都是拿来主义,完全不知道npm命令行怎么敲,都是复制粘贴的,所以完全不知道咋回事。只有C等非常传统的开发语言没这种问题(但是天天上debian上抠源码片段也挺痛苦的)

    另一种比较暴力的办法,是开发leader自己固定一个node_modules目录,之后分发给下属开发者,下面的人直接用这个目录,不自己运行npm。不过这个可能仍然解决不了windows上的问题。

    docker什么的不太推荐,那样子会有共享开发环境的问题,如果npm都解决不了,混用开发环境后互相坑害的问题会更大。

    我现在在公司里用的就是npm锁版本的方式,另外虽然开发办公用windows,但所有文件都跑在本地虚拟机CentOS上,也没有长文件名问题了。当然这么做自己可以,要求其他人就太难了。


    2022-11-25 21:14 回答
  • 不好意思,公司前端全线配 Mac Pro,设计全线 iMAC。

    有这个时间折腾,都够给程序员买电脑的钱了。

    其次,node-sass 确实尼玛问题多。。。 less 你值得拥有

    再次,npm 也可以锁定依赖版本的, npm shrinkwrap。


    2022-11-25 21:14 回答
  • 完全不能理解你为什么会有这么奇怪的问题

    1、nodejs你们一个开发小组都不能控制版本号相同?统一定下一个版本号不允许自己升级这都搞不定你还开公司?

    2、npm版本号问题同上

    3、npm安装的包本来就不同系统不通用的,难道不是一个package.json定好所有包的版本号,通过git之类的版本控制方法来同步代码,所有人自己执行npm install来安装吗?

    我开发用的三台机器mac,fedora,win10都在用,怎么就每遇到你说的任何一个状况?

    另外你们公司前端开发都用mac和Linux?做IE适配的时候怎么做的?开虚拟机?哦呵呵呵,也是不嫌无聊了

    还windows反人类,无知者无畏。你做前端开发一个IDE(webstorm一类,完全跨平台)或者编辑器(atom,vscode,vim,emacs之类,同样跨平台),一个浏览器(chrome,firefox跨平台),加几个命令行运行脚本(npm脚本,node后台,同样跨平台),我完全看不出在团队有人必须要用windows的情况下有任何不用windows不行的理由


    2022-11-25 21:14 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有