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的热重载。非常灵活。
相似问题