用于前端和后端无缝衔接的一个学习项目。
使用socket通信,使freemarker的template的模板通过node.js的server输出。
- clone本项目
- 进入server文件夹,执行mvn package,在target目录下得到freenoker-server-xxx.jar
- 执行如下命令:
java -jar target/freenoker-server-0.0.1-SNAPSHOT.jar path=${path} enableLayout=${true|false} layout=${layout_path}
注意把${}里的内容替换掉,支持的参数见下方 - client文件夹里有demo,包括了basic, grunt, gulp,可根据自己需要选择。
- path, 必填, ftl文件路径,用于freemarker读取模版
- enableLayout, 可选, 是否启用layout,默认不启用
- layout, 可选, layout文件,用于freemarker读取layout模板,默认_layout.ftl
- layoutKey, 可选, 设置layout时的key,默认layout
- screenContentKey, 可选, 内容在layout文件里的变量名,默认screen_content
实现了通过socket长连接进行模板渲染传递的功能。客户端使用Grunt作为自动化构建工具,在connect插件中使用middleware包裹了node.js的net模块;服务端使用Java的AIO,AsynchronousServerSocketChannel作为server, 并采取了callback模式。
模板layout支持 gulp支持
- 目前版本还没有支持前台mock data。后续需要支持。