1、gulp任务管理
npm start启动app,执行脚本:
"start": "gulp live"
该命令用启动gulp顺序任务组合live,位于gulpfile.js中,关于gulp相关点击这里
gulp.task('live', gulp.series('clean','lint','bundle:watch','html','css','resources','watch','browser'));
分别执行以下任务:
clean:清空OUTPUT_DIR目录;
lint:将lib目录下的js文件读取到流并进行一些格式化等操作;
bundle:watch:开启文件改变监控与绑定,该任务调用了gulpfile.js里面的bundle()函数,而bundle()函数里面主要是将上一步流中的js文件合并生成了mediasoup-demo-app.js文件,合并后的js文件有13.3M,这是一个大包的过程,便于一次性加载整个应用。
html:复制index.html至OUTPUT_DIR目录下;
css:读取stylus/index.styl文件,转化,重命名为mediasoup-demo-app.css输出到OUTPUT_DIR目录下;
在OUTPUT_DIR下创建resources目录;
watch:监控html, styl, resources...等一系列文件变化
browser:静态文件更新多端同步刷新配置
总结一下,app目录下执行npm start命令后其实就是将相关静态资源复制到server/public目录下,并且开启了文件刷新监控,多端同步,并自动打开浏览器访问访问配置的路径。然后所有的请求处理是由server来处理的,app是个静态资源服务器。
关于app启动时报的这4个参数错误:
Possible race condition: `window.SHOW_INFO` might be reassigned based on an outdated value of `window.SHOW_INFO`
该错误来源在app/lib/index.jsx中的run( )函数
if(info)
window.SHOW_INFO= true;if(throttleSecret)
window.NETWORK_THROTTLE_SECRET= throttleSecret;
然后自己加了几行代码,再启动发现错误越来越多,