流星样板
一个带有一堆有用功能的大火 + FlowRouter的流星现成的应用程序,在ES6中写下
github存储库:https://github.com/fen747/meteor-boilerplate
大卫·潘纳特(David Panart)又名。 Fen747
版本1.1.3
请参阅版本更改
随意分配此存储库。
如果您觉得很酷,请不要忘记饰演它!
使用此样板的公共项目:
安装
- 克隆此存储库: git克隆https://github.com/fen747/meteor-boilerplate
- 更改目录: CD Meteor-Boilerplate
- 安装NPM依赖项: Meteor NPM安装
- 享受 !
Doc
软件包(/.meteor/packages)
- 预先安装的一堆非常有用的软件包要么需要安装在您的应用中
更改Globals(/BOTH/_GLOBALS.JS)
Lodash
- 该应用程序已经安装了Erasaur:lodash软件包,并将其混合到“ _”,而不是下划线
- 众所周知,Lodash具有与UndScorejs相同的API,但性能更好,还有更多功能
Meteor.user()
- 我优化了Meteor.user()函数
- 现在可以将其与字符串用作参数一起使用,以使特定用户上的findone别名
- 此外,您可以传递一系列字符串以自动过滤所需的字段,以减少无用的重新订阅者 /自动自动无效的数量
- 的确,默认的Meteor.user()函数返回整个用户文档,这意味着如果任何DOC的任何字段更改,则任何反应性计算都将无效,这对于调试和表演可能非常不好,特别是在Mobiles上
- 这样使用:
- Meteor.user() //返回整个当前用户文档
- Meteor.user(“ AuserIdString”) //返回整个指定的用户文档
- Meteor.user(['field1','field2',...]) //返回已过滤的当前用户doc
- Meteor.user(“ AuserIdString”,['field1','field2',...]) //返回已过滤的指定用户doc
API( /imports /api)
路由(/导入/API/路由)
- config.js-在此处设置路由Hierachy和Triggers。使用UpdateView代替Blazelayout.render来处理您的过渡动画
- Triggers.js-在此处定义触发器
- routes.js-在此处定义路线
集合(/imports/api/collections)
- 将您的全局收藏存储在/imports/api/collections
- 将您的客户仅存储在./client中的minimongo实例
- 将您的私人收藏存储在./server中
方法(/imports/api/方法)
- 将您的乐观方法存储在/imports/api/collections
- 仅存储您的服务器方法
库( /imports /library)
应用上下文(/imports/library/appContext)
- 使用会话或任何全球定义的变量不是一件好事。您应该宁愿将AppContext用作反应型而不是会话
应用程序(/imports/library/apputilities.js)
- getemailfromuid (userId) - 使用此功能从用户那里获取第一封邮件
- 安全(收集) - 使用它自动拒绝生产中用户的所有写作权限
- endloadingscreen-非常适合删除您可以通过Arunoda的初始注射包注入的加载屏幕
- PlayAnimation (AnimationName,ElementID,Animation Time = 1000) - 通过将其添加为“ Animation Time” MS之后自动删除元素并在元素上播放动画
大火助手(/imports/library/blazehelpers.js)
- USERCONTED-使用此车把助手检查是否存在用户ID
- LINE BREAKTEXT-字符串的自动变形 n作为DOM中的BR元素。与三括号一起使用
- urlify (str) - 使字符串有效为URL。例如,非常适合在URL中传递帖子标题
- MobileViewSize-检查窗口宽度是否小于601(基于postitalizecss标准媒体查询)
- GetUsername (UID) - 根据他的UID获取用户名
- 等于(a,b) - 返回true是两个参数是平等的
- nequals (a,b) - 返回true是两个参数不是平等的
- logcontext (context = this) - 记录传递的上下文或
- getemailfromuid (userId) - 使用此功能从用户那里获取第一封邮件
- ISCORDOVA-如果在Cordova设备上,返回true
上下文实用程序(/imports/library/contextutilities.js)
- 如果将标志设置为true,则一堆返回流星标志并采取选项回调执行的功能
- Isclient,Isserver,Iscordova,Isdevelopment,Isproduction
DOM操纵
- createMelement ({tag,classList,id,dataset,inninhtml}) - 使用此传递作为参数一个对象,其中包含要分配给创建元素的属性(请阅读函数签名以获取函数签名以获取详细信息))
功能编程(/imports/library/funcprog.js)
- 用于功能编程的一堆ES6功能和别名
- 为了保持干燥,易于阅读且易于调试代码,真的很有用
实用程序(/imports/library/utilities.js)
- MobileViewSize-检查窗口宽度是否小于601(基于postitalizecss标准媒体查询)
- urlify (str) - 使字符串有效为URL。例如,非常适合在URL中传递帖子标题
- tryReach (对象,'NestEdatTribute1','NestEdatTribute2',...) - 如果在非对象值上调用属性,则可以在嵌套对象中导航而无需丢弃错误的非常有用的功能
- buildregexp (str) - 简单的REGEXP构建器
- 基准(回调) - 检查回调性能的基本功能
- UnBlock (DDP连接) - DDP的this.unblock的别名,该方法在该方法不存在时不会丢失错误
- Isvalidimageurl (url) - 检查URL是否指向图像
模块( /导入 /模块)
反应性窗口
- 窗口大小- 使调整大小的反应性使窗口反应性
- 默认向客户导入
DDP记录
- 使用ddploggog的全局对象在客户端上关闭和关闭DDP消息的聆听
- 默认向客户导入
智能断开连接(/imports/modules/smartdisconnect.js)
- 在流星中维持活着的会议非常昂贵。使用smartdisconnect.start()将Meteor.status()。当用户不活动一定时间(默认为300s)时,状态为“离线”
- SmartDisconnect.start()采用两个可选参数:
- 首先,这样的对象:{timebeforedisconnect = 300,activateOncordova = true}
- 其次,在脱连接之前叫回调
- 借助MixMaxHQ的学分
启动( /导入 /启动)
客户端(/imports/startup/client.js)
- 在文档变量中添加一个删除(按ID)方法
- 将日志功能添加到全局范围。在调试时,可用于登录和返回变量而无需向文件添加新行
- 启动回调具有许多要处理Cordova上注入的加载屏幕的功能,在加载角色后将路由器INIT推迟,并遵循AppContext中的连接状态
用户界面( /imports /ui)
组件(/imports/ui/组件)
布局(/imports/ui/布局)
模态(/imports/ui/模式)
页面(/imports/ui/页面)
样式表(/imports/ui/样式表)
- 在此处添加您的CSS / SCSS / SASS /更少的文件