2021SC@SDUSC
目录
官方文档
我们要结合ThinkJS官方文档探究CmsWing的启动过程。
执行npm start
或者node development.js
。根据CmsWing的介绍,使用前者就可以了。
实例化ThinkJS里的Application类,执行run
方法。
如果是Master进程:
加载配置文件,生成think.config
和think.logger
对象。
加载文件src/bootstrap/master.js
文件
如果配置文件监听服务,那么开始监听文件的变化,目录为src/
。
文件修改后,如果配置文件编译服务,那么会对文件进行编译,编译到app/
目录下。
根据配置workers
来fork对应数目的Worker。Worker进程启动完成后,触发appReady
事件。(可以通过think.app.on("appReady")
来捕获)
如果文件发生了新的修改,那么会触发编译,然后杀掉所有的Worker进程并重新fork。
如果是Worker进程
加载配置文件,生成think.config
和think.logger
对象。
加载Extend,为框架提供更多的功能,配置文件为src/config/extend.js
。