最新版 vue 竟然给我硬盘文件都删除了!什么鬼??

2020-07-19 14:44:27 +08:00
 legendnan
今天想学习下 vue 。用 vue-cli 创建了一个项目。使用 vue ui 进行项目管理。
当使用 build 的时候 ,将我硬盘文件删除了。卧槽。
我在参数中将输出目录保存在了 H:\。其余没有改变。然后我点击运行,竟然自动将 h 盘下文件都删除了
11746 次点击
所在节点    Vue.js
114 条回复
EPr2hh6LADQWqRVH
2020-07-19 23:37:30 +08:00
@will0404 你这根本没搞明白我说的啊,不在一个频道上啊。

要不你自己打开几大站看一下 html? 引用的 js 都带着哈希呢? google 的 html 能不能堵上你的嘴?

还有小伙子,你瞅啥不一定非得回答瞅你咋地啊。
will0404
2020-07-19 23:39:28 +08:00
@avastms 用你的话回你吧,夏虫不可语冰。我不屑于你的无知浪费时间,到此为止。
EPr2hh6LADQWqRVH
2020-07-19 23:43:45 +08:00
@will0404 Blocked. 爽不爽
zhw2590582
2020-07-20 00:11:48 +08:00
creat-react-app 会不会也有这个问题,那样的话就不应该 vue 背这个锅,是 webpack 没考虑到居然有人这样做
lerry
2020-07-20 00:29:55 +08:00
记得多年前 windows 上一个软件,不记得是迅雷还是啥,我装在了一个有很多文件的目录,卸载时,目录文件给我删完了
chengxy
2020-07-20 01:19:23 +08:00
@lerry #85 能自己清空目录的说明是好软件,不像有些垃圾软件明明卸载了还留一堆垃圾文件。
baobao1270
2020-07-20 03:15:03 +08:00
看了这个问题想到了两个事情

一是某个英伟达驱动官方安装脚本中,把 rm -rf /usr/bin/nvida/... 写成了 rm -rf /usr /bin/nvida/...
也就是多了一个空格,导致了很多人数据丢失

二是在很多 Linux 发行版,当你执行 rm -rf / 命令时,会提示你使用 --no-preserve-root 参数进行确认,但部分发行版不会检查。

我觉得楼主犯的错误与一类似,这是一个又蠢又可怜的错误。我们希望软件的开发者可以像二一样多一个检查,但是也不能苛责他们将其视为义务,因为开源许可证已经明确了免责条款。
chnwillliu
2020-07-20 06:33:08 +08:00
@avastms 确实是没有根据 build 生成的文件跟踪来做删除,而用了最简单的清空 output 目录的方法,但我觉得这个操作可以理解,并非前端浮躁肤浅。

加后缀不是为了多版本共存,是因为把指纹或者说版本号放在 url 的 querystring 里其实不是最完美的方案,存在一定风险(有些浏览器认为 querystring 变化后资源可以复用;持续集成发布中遇到资源引用更新但实际内容没来得及更新时 CDN 会用新 URL 缓存旧资源,而你不可能每次发布都刷一遍 CDN 缓存; 。。。),而目前公认的方案是放在 filename 里。所以 rebuild 需要清空上次内容,而最简单的 clean 就是清空整个目录。

@avastms 总喜欢和其他 C 系的项目比,但是这里的比较是不对等的。前端的这些 CLI build 产生的 output 目录是 release-ready 的,你 copy 这个目录然后拿个 nginx 托管一下就能跑的,这是这些工具的意义。make 一下直接就地生成二进制能直接目录打包分发给客户么?你要做 installer 或者 zip 打包你的软件,是不是提前要保证目标目录是干净的?你不希望你的 installer.exe 一释放你的学习资料跑出来了吧,你的 Assembly 过程不希望最终的 package 混进奇怪的东西吧。 所以说这个和传统的 clean 是有差别的。
xuewuchen
2020-07-20 08:41:00 +08:00
我一般做测试或者试验性的东西习惯性先在虚拟机里玩一下。。现在的电脑配置上去了,虚拟机功能也巨全,我现在非常喜欢虚拟机,打算再换电脑的时候,所有的环境安装到虚拟机里面,在虚拟机里工作。换电脑直接拷贝虚拟机就行。so easy
ji39
2020-07-20 08:41:25 +08:00
你怎么不挂到 c:\inetpub\wwwroot\ 去
xiaoming1992
2020-07-20 08:49:50 +08:00
这就是不熟悉 webpack 直接上脚手架的后果
free9fw
2020-07-20 09:03:53 +08:00
楼主估计是不知道 '/'和'./'的区别
march1993
2020-07-20 09:13:44 +08:00
这问题就像 rm * 怎么不提醒我一下似的
sarices
2020-07-20 09:48:18 +08:00
运行用户权限太高了吧,用低一点的权限就算选错目录了也不至于文件全部删除
lianxiben
2020-07-20 09:51:52 +08:00
总想搞个大新闻。。
zxcslove
2020-07-20 09:53:56 +08:00
很多二十年前的老程序,安装时如果指定的目录有文件,会提示一下。
能力越大责任越大,现在新手那么多,可以考虑设置一个一次性的提醒的。
doudouwu
2020-07-20 10:11:30 +08:00
真有人把猫放微波炉里哎
shunia
2020-07-20 10:36:11 +08:00
#80 说前端开发的流程就是应该要删除生成目录的,我都看蒙了,而且理由居然是会占用硬盘需要手动删除。
所以是不是还不能用 node_modules,只能在 html 里远程引用 umd 的库?毕竟 node_modules 占用硬盘太多,而且居然还不能删除!
UIXX
2020-07-20 10:39:33 +08:00
这种设计理念与用户体验的冲突只能由尤雨溪去平衡,下面的吃瓜群众只能是公婆各有理。
jon
2020-07-20 10:49:54 +08:00
弄了个大新闻

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/691339

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX