服务器开启需要从开启命令的运行目录下读取hotLoad.conf.js 文件信息。
作者在gitlab上准备了一个范例工程 ,git链接:ssh://git@gitlab.dev.zhaopin.com:2222/tianhao.li/ZPMVVTemplateToolSimplify.git
或http://gitlab.dev.zhaopin.com/tianhao.li/ZPMVVTemplateToolSimplify.git
可以直接使用里面的hotLoad.conf.js作为您的配置文件,只需要把几个文件路径修改成你指定的即可
服务器操作的一些dyna命令 需要在这个配置文件的统计目录下运行
以下是使用者可以自定义的一些配置:
/**** 以下是模式代码 帮助我们安装依赖 请不要更改 *****/const configs = {}const { exec } = require('child_process');const path = require('path');const fs = require('fs-extra');/******** 以上是模式代码 帮助我们安装依赖 请不要更改 ******/configs.http = {// http 服务端口 用于客户端主动拉取配置文件"HttpPort": 8888,// 指定 http服务开放的静态资源文件夹 可以配置多个元素"staticDir": [path.resolve(__dirname, "build/out"),path.resolve(__dirname, "tangram")]}configs.fileService = {// 配置 dyna服务对文件改动的监听行为 可以配置多个元素// path就是文件夹或文件绝对路径// mode 是监听哪一种文件改动模式,可选的模式有:// add(添加文件), addDir(添加文件夹), change(修改文件), unlink(删除文件), unlinkDir(删除文件夹)// all(以上所有模式)"watchDirs": [{ 'path': path.resolve(__dirname, 'template'), "mode": ["change"] },{ 'path': path.resolve(__dirname, 'tangram'), "mode": ["change"] }],// 服务监听到改动后回调 ,回调中传入了改动的文件路径,改动的mode,// 最后使用者通过调用callback来告诉服务应该把什么样的数据推送给客户端/*callback的范例 :第一个参数代表是否需要服务器通过websocket把数据推送给客户端, 传false将不会推送数据第二个参数是个json : 将要推送给客户端的数据callback(true, {"template": base64_,"type": baseName})*/"before": (changedPath, mode, callback) => {},}configs.webSocket = {// websocket的端口"WSPort": 9999,// 有客户端链接进来时 这个闭包会回调 , 返回false 将会拒绝这个客户端的链接"clientConnectFilter": (conn) => {return true},// 有客户端断开连接时 会走这个回调"clientDisConnectCallback": (conn) => {},// 用户自定义的json数据 , websocket给客户端推送消息前将会走这个回调// 如果有数据返回,将会把这些数据也一并推送给客户端"customPushParams": (mode, filePath, ip, port) => {return null},}
