nodemon 为什么要基于babel-node?

来源:2-10 koa开发热加载、ES6语法支持【进阶篇】

woaixuexi3946647

2020-04-11 22:22:28

根据老师讲的,是不是nodemon使用commonjs的规范,webpack读不懂,所以需要babel-node转换,使webpack能够执行?

写回答

1回答

Brian

2020-04-11

根据老师讲的,是不是nodemon使用commonjs的规范,webpack读不懂,所以需要babel-node转换,使webpack能够执行?

——我理解一下你想问的问题啊,你是不是想说,nodemon因为我在视频中说使用了commonjs的规范,所以webpack读不懂,那么就经过了babel-node转了一下,然后webpack就能执行了?!

我首先回答一下我的自问自答,不是这么样的,webpack只读的懂commonjs,但是不是经过babel-node转的,webpack有一系列的loaders,这个才是让webpack读的懂的重要原因。

然后babel-node是干嘛的呢?

babel-node是一个可以执行es6语法的环境,就跟node可以直接执行commonjs的语法一样,还有一个ts-node是可以执行ts的语法环境,或者你这么理解,你知道java的运行环境吗?jvm,其实是一个道理。

我们用nodemon的主要作用是去监听js文件的变化,具体的来说是server.bundle.js文件的变化,变化了之后,自动重启node,省去了手动重启的麻烦。

而使用webpack结合nodemon的目的,是webpack可以处理es6的语法(通过babel-loader,上面我已经说明了),webpack可以把我们的项目打包成server.bundle.js(单文件),nodemon就可以监听了。

GET到了吗?

PS: 这个架构是我们平时用到的一个架构,我进行了小范围优化。webpack非常灵活,可以根据自己的需求来进行定制,在TS的环境下,还可以配置dev-server + hot-reload来进行app的热重载。非常灵活。

0
hoaixuexi3946647
h 您说的我明白了,又看了遍视频,也就是说,首先js文件在babel-node环境下执行,再使用nodemon在babel-node环境下监听js的变化。之前在node环境下,直接用nodemon就可以监听,但是不能使用es6语法
h020-04-11
共1条回复

0 学习 · 1842 问题

查看课程