如何防止 Node.js 频繁修车

2022-09-21 16:49:49 +08:00
 join
如题,我很少能够顺利的跑起来一个 Node.js 项目,每次都会遇到各种各样的包管理引入的坑。
有什么 Node.js 最佳实践能让我们少修点车?
9192 次点击
所在节点    Node.js
97 条回复
themostlazyman
2022-09-21 16:52:36 +08:00
放弃它
join
2022-09-21 16:55:43 +08:00
@themostlazyman 放弃不了,生态过于繁荣。估计是全球第一大编程语言生态。
lmshl
2022-09-21 16:57:42 +08:00
写 dockerfile ,构建过程都交给 CI 流水线呗,全程自动化的构建才能保证任何人都可以重现

碰到这种单体项目我都是直奔 dockerfile 去的,最复杂的应该是接口有相互依赖关系的多语言分布式项目,要是数据库迁移都没有那才叫酸爽
lmshl
2022-09-21 16:58:57 +08:00
@join 想多了,2017 年我放弃 NodeJS 转投 Scala 才知道什么叫真正的繁荣(指 JVM )
kid740246048
2022-09-21 17:00:26 +08:00
“各种各样包管理引入的坑”
这点展开说说?想了解了解
dcsuibian
2022-09-21 17:01:55 +08:00
项目里不是有 package-lock 、yaml-lock 、pnpm-lock 么
dcsuibian
2022-09-21 17:02:11 +08:00
说错了,没有 package-lock 、yaml-lock 、pnpm-lock 么
join
2022-09-21 17:05:58 +08:00
kid740246048
2022-09-21 17:11:51 +08:00
@join #8 是想问你具体遇到过哪些坑,最佳实践我说不上啥,但针对具体的坑也许能说一两句,你丢个 stackoverflow 链接就很没意思了
join
2022-09-21 17:15:49 +08:00
@kid740246048 实在太坑了,我一个项目里面有楼上这位仁兄说的 lock file ,但该出错照样出错。我就是写几行 example code ,结果是包引入的包没有 XMLHttpRequest 。
然后我刚刚又回去修车了,找到了这个链接看得我莫名奇妙的。https://stackoverflow.com/questions/32604460/xmlhttprequest-module-not-defined-found
kid740246048
2022-09-21 17:19:08 +08:00
@join #10 xhr 是浏览器环境下提供的一个全局对象,你是 nodejs 环境没有这个也很正常,如果是安装的某个包依赖 xhr ,那应该看看包有没有说明运行环境是否仅限浏览器
IvanLi127
2022-09-21 17:19:23 +08:00
几年前开始没人维护并且项目还不规范的话,才能遇到吧。我感觉我去找的开源项目都挺容易跑起来的,有问题的也比较快就能解决。
codingBug
2022-09-21 17:22:56 +08:00
试试多学习下前端知识?

不知道 NodeJS 项目是来自 GitHub 还是哪里,如果是 Github ,一般会有开发文档
lmshl
2022-09-21 17:24:27 +08:00
leegradyllljjjj
2022-09-21 17:40:27 +08:00
宇宙中的物体质量排名:太阳 ,中子星,黑洞,node_modules ,新疆切糕
shyling
2022-09-21 17:42:56 +08:00
不维护的项目跑不起来也可以理解
yimity
2022-09-21 17:46:43 +08:00
package 中全部直接版本号写死
"helmet": "5.1.1"
zbinlin
2022-09-21 17:50:11 +08:00
先学习下基础知识,再来用会少走很多弯路。
rekulas
2022-09-21 17:56:04 +08:00
npm 依赖确实是个大坑,冷嘲热讽要求学基础的是什么情况
学得好的,能否帮我优雅解决下这个问题? https://www.v2ex.com/t/870920

@codingBug
@zbinlin
lmshl
2022-09-21 17:57:06 +08:00
@shyling 看头像和名字有点像多年前 NodeJS 群网友

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

https://www.v2ex.com/t/881929

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

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

© 2021 V2EX