没有人用 JavaScript 写后端吗,后端界没个像 webpack-dev-server 一样的工具?

2020-11-07 23:03:43 +08:00
 Kasumi20
Node.js 诞生 10 多年了,它的出现使 JavaScript 能够脱离浏览器直接运行,直接催生了 webpack 、Vue 、React,改变了整个前端界,但是没有人用 JavaScript 写后端吗?为什么没有人做一个像 webpack-dev-server 一样好用的工具呢?

webpack-dev-server,可以让代码更新实时应用到浏览器界面,不用再去自己编译、刷新浏览器了,后端也需要啊,我想修改代码后立即看到代码的运行效果不可以吗?

不过没关系,没有人做,那我只好自己做了,目前只在 Windows 系统上实现了,请大家给个 star !

https://github.com/develon2015/node-dev-server
4144 次点击
所在节点    Node.js
19 条回复
lazyboy
2020-11-07 23:11:58 +08:00
nodemon?
Kasumi20
2020-11-07 23:15:08 +08:00
@lazyboy

Why not use the nodemon?
为什么不用 nodemon ?

We use webpack5, not simply watch the OS File-System events;
使用 webpack5, 而不是简单地监听文件事件。

We can kill already exists process, compile and restart a cmd.exe window on source-code changes.
代码改变后立即编译,然后立即重启一个 cmd 窗口运行。
musi
2020-11-08 00:05:13 +08:00
前端用 webpack 是因为需要打包 后端你用的啥框架也需要打包?
autogen
2020-11-08 00:22:21 +08:00
nodejs 改完代码会自动重启
Blacate
2020-11-08 00:30:30 +08:00
nestjs 有 hmr
seki
2020-11-08 00:34:41 +08:00
项目推广就项目推广呗,为什么要起个问问题一样的标题

虽然用 webpack 来开发后端项目也不是不行,但是大家都是一样监听文件事件重起进程,webpack 还有一个打包的过程,除非也能实现热加载,否则我没有感觉到什么优势
hujun528
2020-11-08 00:36:14 +08:00
加油,奥利给
FreeEx
2020-11-08 01:11:10 +08:00
因为后端不只是 web,就连 web 也不仅仅是浏览器。
自动刷新浏览器这也不会是系统开发的痛点,建议不要做无用功了,还是多学习一下吧。
Kasumi20
2020-11-08 01:18:05 +08:00
@Blacate

@nestjs/cli 也是用的 webpack
Kasumi20
2020-11-08 01:25:35 +08:00
@hujun528 谢谢, 加油! 奥利给!

@FreeEx 你管这叫无用功. 好吧, 智者忧能者劳, 无知者无求, 我不跟你一般见识.
hronro
2020-11-08 01:59:24 +08:00
Why not use the nodemon?
为什么不用 nodemon ?

We use webpack5, not simply watch the OS File-System events;
使用 webpack5, 而不是简单地监听文件事件。

We can kill already exists process, compile and restart a cmd.exe window on source-code changes.
代码改变后立即编译,然后立即重启一个 cmd 窗口运行。


--------------------------------------------------------------------------------------------
Webpack 不也是监听了文件事件?还是使用 Webpack 能比简单的监听文件事件带来什么额外的好处?不懂。

另外 nodemon 不也是在文件改变之后重启了一个进程么?你重启一个 cmd 窗口不是还要先重启一个 Terminal (Linux / macOS) / Console (Windows) 再重启进程,这样不是更慢了吗?有什么好处?

另外现在前端开发工具的趋势都是不在开发模式下打包 (snowpack, vite) 而直接使用浏览器自带的模块系统 (ESM),这样可以有更快速高效的开发体验,而 Webpack 的局限性在于 Webpack 诞生的时候浏览器还不支持模块系统,所以必须要打包。对于 node 这种自带模块系统的东西,就算真要做热加载,Webpack 也不是一个很好的选择,毕竟 Webpack 也太慢了。

我个人观点是 nodemon 其实在大部分情况下应该都够用了.
Kasumi20
2020-11-08 02:12:15 +08:00
@hronro nodemon 使用场景过于局限, 附言里有说明, webpack 只监听项目依赖.

"重启一个 cmd 窗口"这句话更准确一点说是"弹出一个新的 cmd 窗口".
hronro
2020-11-08 02:14:19 +08:00
对啊,弹出一个新的 cmd 窗口,比起直接重启 node 进程有什么好处?而且还更慢了
hronro
2020-11-08 02:15:39 +08:00
还有你用 webpack 打包怎么处理那些要做 FFI 的库?
Kasumi20
2020-11-08 02:15:51 +08:00
@hronro 我可以立即观察到运行情况啊, 不用去看 nodemon 在哪里了.
muzuiget
2020-11-08 02:22:53 +08:00
nodemon 支持任意命令,不局限于 node 程序。所以任意打包器都行,监听 webpack 的最终的打包文件就行了。

重启直接杀原来的进程就行了,再起一个 cmd.exe 实在多此一举,所以 #11 楼才说这更慢。
ljpCN
2020-11-08 02:25:16 +08:00
already exists process
语法有问题
楼主最好把 Readme 里的英文请个 native speaker 或者有英文写作经验的专业选手过一遍
ericgui
2020-11-08 02:53:49 +08:00
工具是用于解决问题的

你的 node-dev-server 解决了什么问题?
dream4ever
2020-12-04 21:21:39 +08:00
Node.js 后端开发环境用 nodemon,部署时用 PM2,写后端这几年,大家普遍都是这种习惯。

而且 nodemon 完全可以通过相关配置,只监听你希望监听的部分,这些工具发展了这么多年,都很成熟了。

至于你的标题“没有人用 JavaScript 写后端吗,后端界没个像 webpack-dev-server 一样的工具?”以及“不写 js 的请不要来自讨没趣.”,让人觉得你高高在上,俯瞰众生。互联网上大家都是平等的,平等地讨论,平等地交流,即使你真的做出了震惊世界的产品,用这种标题和语气,让人觉得很没有礼貌,有些人会不想和你交流,有些人看你语气这么冲,也会不自觉地跟你刚,这样更是让大家无法有效地交流。

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

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

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

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

© 2021 V2EX