首先为什么使用 nodejs?
就像某人说的:别人选择用 nodejs 或 Golang,是根据业务,而我选择 nodejs 是因为我仅仅会写js…
在入坑 nodejs 写后端前,肯定会去谷歌一番 node 的性能咋样啦,类似 nodejs vs php Or vs go 性能测试等;搜索结果呢会有许多说它性能很好的,也有说性能不足php的,而且各自都有自己的性能测试…
然后也会发现很多有趣的便见,下面罗列一下:
一. nodejs 因为 js 这门超级灵活的语言不适合写大型项目
解决方案: 上 typescript
二. nodejs 性能不行,并发上不来,延迟大。这里的性能应该指的是 cpu 密集型计算。
解决方案:水平扩展机器 + 将 cpu 密集型计算放到另一个服务上转化为网络 io 调用啊(具体这个服务怎么写,仁者见仁)
三. 数据库并发上不来。
解决方案:这个和 nodejs 没啥关系吧……
全网搜来搜去,大概就上面的问题。看完,用 nodejs 写后端还是问题么
再来列举 nodejs 写后端的好处吧(仅限于对前端来说) 一. 学习进步,更上一层楼;了解后端,才能更好写前端嘛 二. 给了前端同学一个轻松写后端的机会 三. 前后端类型/代码共享 四. 天然的 web 支持(比如用 websocket 超简单)
总结来说,写后端,如果你熟悉 php,那就 php,听说nodejs 好,噗嗤噗嗤的去学 js,es6, npm,webpack, babel等等的,在没用 nodejs 写业务前,就已经精疲力尽了…
当我说 nodejs 适合写后端的时候,是因为我仅仅会前端。不想去学go写后端,因为在用go写后端前,学习go 已经让我精疲力尽了。
不熟悉才会说不合适,没有绝对的不行,其实都可以解决问题。
中小应用啥语言都行,看团队技术栈以及水平。纯 nodejs 在后期维护上可能麻烦些,上 typescript 就基本解决问题。
我觉得 node 可以作为纯前端出身的程序员入门后端的最佳选择吧 typescript 前后端通写蛮香啊
Node.js 是基于 Chrome V8 引擎的 JavaScript 运行环境。
没错,文章表述有误!
这里的nodejs意思为在 node.js 之上构建后端应用
谢谢 3 楼指正
你说的没错,性能说到底最强就是cpu核数的aio。现在大家都是这个模式,性能差异不大。 接下来就是语言本身了,bs 前端天生javascript,后台我还瞎扯什么,一样的语法不香吗
狼书卷一里都讲了的