gulp-angular-state
虽然AngularJs 1.x 新的项目已经很少有人选择,但企业中作为稳定选型仍然有着重要地位,在实际的开发中配置路由模板以及样式文件的加载成了开发者的巨大负担,所以这个插件就诞生了!
Quick start
-
下载插件
npm install --save-dev gulp-angular-state -
编写
gulpfile.js
var gulp = ;var statePlugin = ;var watch = ;var SRC = './src';/*** 初始化controller到路由文件*/gulp;/*** 初始化service和directive添加到ModuleConfig*/gulp;gulp; -
编写路由模板文件(
./env/RouterConfig.js
){'use strict';var app = angular;app;}; -
添加controller
{'use strict';var app = angular;/*** 一级页面主controller* @At('main', '/main')* @Template("./index.html")* @Style('./index.css')* @Custom({role: [{ status: 1, toState: 'second.myLogin' }] })*/app;/*** Login controller* @At('login', '/login')* @Template("./login.html")* @Style("./login.css");*/app;}; -
结果
{'use strict';var app = angular;app;};
Service 和Directive
Service 还算好,Directive要包含模板,感觉不是很好
-
编写模块别名文件(
./env/ModuleConfig.js
){'use strict';var app = angular;app;}; -
新建
Second.service.js
文件{"use strict";var app = angular;//app;};
-
结果
{'use strict';var app = angular;app;};
API
statePlugin.controller('路由模板文件')
读取就是中的@At、@Template、@Style、@Custom等信息添加到模板文件;
@At(stateName, url)
stateName: 参考ui-router controllers
url: 参考ui-router url
@Template(templatePath)
模板的路径,controller文件相对路径
@Style(cssPath)
样式文件路径,controller文件相对路径
@Custom(自定义属性)
自定义属性,如:
@Custom({role: [{ status: 1, toState: 'second.myLogin' }] })
state对象
name: '' url: '' template: '' ctrlName: '' custom: {} loadFileArr: 'ctrl js file path' 'css file path'
statePlugin.module('模块别名模板文件')
创建Service和Directive时会自动添加到别名文件中
module对象
name: '' path: ''