本项目基于yog2和vue的全家桶构建.总共目的有两个:
- 学习使用vue来进行web前端开发;
- 学习使用yog2和fis,来进行开发,自动部署,优化等,体验yog2的各种特点。
本项目还有一个后期想法:基于yog2和vue2来构建同构应用。
yog2 是一个专注于 Node.js UI 中间层的应用框架。它基于 express 和 fis 开发,在享受 express 的灵活扩展能力和 fis 强大的前端工程化能力的同时,引入了自动路由、app 拆分以及后端服务管理模块来保证UI中间层的快速开发与稳定可靠。
- node 0.8.x
- node 0.10.x
- node 0.12.x
- io.js
同时支持 fis 与 fis3 两种编译核心
需要先安装 node.
npm install -g yog2
npm install fis-parser-node-sass fis-parser-babel-6.x fis-parser-handlebars-3.x -g
把项目根目录的index.js替换到C:\Users\{用户}\AppData\Roaming\npm\node_modules\yog2\node_modules\yog2-command-init
如果要使用 vue 则需要安装 fis3-parser-vue-component, fis3-parser-translate-es3ify
yog2 project是基础的运行框架,提供一些基础的配置和中间件管理。通过使用 yog2 提供的脚手架,可以快速创建一个基础的 yog2 project
yog2 init project
# prompt: Enter your project name: (yog)
yog2 app 是应用的业务代码,每一个 app 都是一个独立的子项目,包含了这个子项目中所有的前后端代码。我们可以利用 yog2 release 功能将 app 发布至 yog2 project 中来运行 app。
利用 yog2 的 app 拆分能力,我们可以将一个中大型规模的项目按照功能或业务划分为多个独立的 app ,每个 app 均可以独立开发、编译、部署。当项目的业务较简单时,也可以只使用一个 app 来管理代码。
yog2 init app
# prompt: Enter your app name: (home)
首先我们需要为 yog2 project 安装执行必须的依赖
# 进入 yog project 目录
cd yog
npm install
然后我们就可以用开发调试模式启动 yog2 project,让运行框架可用
切勿在生产环境使用开发调试模式启动 yog2 project,这样的行为将会引发安全问题。
yog2 run
yog2 project 的默认端口是 8085,你可以通过修改 PORT
环境变量或者直接修改 app.js
来指定端口。
此时如果我们访问 http://127.0.0.1:8085
由于我们并未部署应用,我们只会得到一个 404 页面。因此下一步我们就需要部署 app。
由于启动 yog2 project 后会一直占用控制台,因此我们需要另外开启一个控制台去部署 app。
# 进入home目录
cd home
yog2 release --dest debug
yog2 release --dest debug 必须要求运行框架以调试模式启动后使用,否则无法正确的部署代码。
再次访问 http://127.0.0.1:8085
我们就会看到网站已经正常提供服务了。
此外,如果我们在执行 yog2 release 命令时添加 --watch
参数,yog2 就会监听文件修改,并自动部署至 yog2 project 。通过 yog2 的热更新技术,只要是 app 中的代码,无论是静态资源还是后端模板亦或是后端逻辑,均无需重启 yog2 project 就可以生效。
yog2 release --dest dev --watch
请查阅 官网