-
Notifications
You must be signed in to change notification settings - Fork 1
Home
一个自动化前端开发工程流的工具包。里面包括seo、seo-php模式。
共同点:都是具有PC端SEO优化的工作流程。都采用了node服务,通过fis3进行资源定位及优化。
区别:
seo-php用的是generator-biketo的开发流程,模版渲染部分由PHP负责。最后产出在后台的服务上运行项目。
seo采用了node服务,以handlebars为模版引擎,实现了页面的自动路由功能。最后产出在node服务上运行。
v2.0.0
- 修复路由文件名限制、优化路由、增加无配置文件路由。
- 规范通用JS请求。
- 增加注释,规范代码,增加eslint,增加airbnb规范。
- 嵌入模拟数据。
npm i olo -g
所有命令的参数都可以通过
olo ** -h查看
olo init
olo v view-name
olo c component-name
olo w
启动项目中包括清空本地fis3服务文件的
server clean,清空编译缓存、自动刷新、实时监听release -clw。
olo s
olo r
mkdir my-project
cd my-project
olo init
olo v view-name (可选)
olo c component-name (可选)
olo s (或者) npm run start
olo w (或者) npm run watch
config配置
seo目录结构
|---- assets # 静态文件目录
|---- images # 图片文件
|---- scss # 通用样式文件
|---- components/ # 页面组件文件
|---- views/ # 前端页面渲染
|---- libs/ # 前端辅助类或工具类文件
|---- mock/ # 模拟数据文件
|---- server/ # Node服务
|---- _conf.json # 路由配置文件
|---- init.js # 路由派发规则解析文件
|---- controllers/ # 前端页面渲染路由文件
|---- service/ # 前端接口路由文件
|---- middleware/ # 路由中间件
|---- utils/ # 后端辅助类或工具类文件
|---- app.js # 系统启动文件
|---- config.json # 系统环境配置文件
|---- fis-conf.js # fis3 配置文件
|---- pm2.json # pm2 配置文件
|---- package.json # 管理项目的依赖
|---- .editorconfig # ediforconfig 代码书写配置文件
|---- .eslintrc # eslint 代码规范性检查配置文件
|---- .gitignore # git 仓库文件忽略配置
1、 页面路由 controllers>index.js
module.exports = { 路由名称: [中间件(可选),函数], 路由名称: 函数, index: [midUser.hasLogin,function(req,res){ res.render('index',{username: req.session.username}); }] index1 : function(req,res){ res.render('index',{username: req.session.username}); } };
2、 页面路由配置 server>_conf.json>controllers
一级路由:接口名称
一级路由:{
二级路由:接口名称
二级路由/三级路由: 接口名称
二级路由:{
三级路由:接口名称
```
}
}
(或)
一级路由/二级路由: 接口名称
一级路由/二级路由/```: 接口名称
路由函数名|一级路由:接口名称
1、一级路由默认对应‘路由函数名称’,即:所有路由对应
一级路由.js的路由函数。
2、如果需要自定义路由函数可以借助分隔符|,即:路由函数名|一级路由。
3、controllers中路由方式默认是GET。
"controllers": { "root": "../controllers", "map": [ { "index|/": "index", "index": "index", "about/member": "member", "about/member": { #默认对应about.js "user": "user" } "about-fn|about/member": { #对应about-fn.js "user": "user" } } ] }
3、 接口路由 service>loginout.js
module.exports = { 路由名称: 函数, login : function(req,res){ //一般在这里进行数据请求 } };
4、 接口路由配置 server>_conf.json>service
一级路由:接口名称 一级路由:{ 二级路由:接口名称 } (或) 一级路由/二级路由: 接口名称 一级路由:[请求方式,接口名称]
1、一级路由默认对应
路由函数名称,即:所有路由对应一级路由.js的路由函数。
2、如果需要自定义路由函数可以借助分隔符|,即:路由函数名|一级路由。
3、service中路由方式默认是POST,如果需要get方式,可用:["get","接口名"]。
"service": { "root": "../service", "map": [ { "member": "member", "auth/login": ["get", "login"], } ] }
功能、用法与
generator-biketo相类似。
seo-php目录结构
assets 静态文件,包括图片和初始化css;
c 组件;
libs 公用类库;
server node服务;
views 页面视图;
config.json 发布产出、接口配置;
fis-conf.js fis 配置;
package.json 项目包配置.
-
{{#if dev}}handlebars语法区分纯前端开发和后台模板开发; -
{{> cmp}}引入组件; - 可以自行加入
helper并在_conf.js_中的handlebars配置项中配置;