YFjs

一个基于AMD规范的组件库,内含简洁SPA框架,便于快速构建单页面应用系统

介绍 #

YoungFront(简称 Y⋅F)是一个由几个“年轻”但热爱前端技术的前端人组成的兴趣小组,寄意于“年轻有活力”。

YFjs是一个组件库,其中大部分是一些第三方的库(感谢众多前端大神),比如jQuery、Requirejs、Bootstrap等开源库和框架是这个组件库的核心依赖,我们基于这些库和框架做了一些前端“轮子”,并按照 Requirejs 的模块加载规则进行了规范和整理,使众多前端组件更易使用。

另外,这个组件库里还包含一个我们精心设计的前端框架 yfjs/spa。顾名思义,它是一个 SPA(Single Page Application 单页面应用)框架,风格简洁,配置和约定共同驱动,顶部导航 SPA框架 下详细介绍了这个框架,欢迎试用。

总之,YFjs不仅能够帮助我们快速使用弹出框、美化后的下拉框和单/复选框、滚动条等UI组件,也能使用JSON转换、Cookie处理、日期格式处理等工具插件,更能配合内含的 SPA 框架快速构建一个单页面应用系统,让我们的前端开发更便捷。

使用说明 #

引入组件库 #

编译包下包含目录 minifiedoriginal,分别对应 压缩后未压缩 的组件库代码;另包含 JavaScript 文件 yfjs.js,是组件库的入口 JS 文件。

目录结构如:

- yfjs-lib/
  - minified/
    - fonts/
      + FontAwesome/        <-- FontAwesome图标库字体
      + GlyphiconHalflings/ <-- Bootstrap内含图标字体
      + Loader/             <-- 默认加载中样式图标字体
    - modules/              
      - ...                 <-- 已打包的各组件模块
    - styles/
      - base.css            <-- 基本样式文件
    - yfjs-core.js          <-- 组件库核心 JS 文件
  - original/
    ...                     <-- 与 minified 目录下结构一致
  - yfjs.js                 <-- 组件库入口 JS 文件

使用组件库时,只需在 head 标签内引入组件库的入口 JS 文件 yfjs.js 即可。

<script src="[yfjs-lib path]/yfjs.js"></script>

[yfjs-lib path] 可根据项目的情况自行定义,下同。

入口 JS 文件会 自动引入 基本样式文件、核心 JS 库文件等组件库的相关静态资源。

基本样式文件 base.css 内包含 Bootstrap 3 的全套样式,以及默认引入的组件和一些增强样式。在 Base样式 下可以查阅相关文档。

核心 JS 文件 yfjs-core.js 内包含以下默认引入的组件(按先后次序):

- Requirejs (enhanced on v2.1.17)
- jQuery (v1.9.1)
- jquery Plugins
  - $.fn.serializeObject <-- 将表单内容序列化为 json 对象
  - $.parseQuery         <-- 将 URL 路径上的参数字符串解析为 json 对象
  - Bootstrap Plugins (enhanced on v3.3.4)
    - transition  <-- 动画效果适配插件
    - scrollspy   <-- 滚动监听插件
    - affix       <-- 固定元素插件
    - dropdown    <-- 下拉框组件
  - Other Plugins
    - Loader     <-- 默认加载中效果组件
    - metismenu  <-- 折叠菜单组件
    - iCheck     <-- 单选按钮和复选框美化组件
- YFjs (v0.8.2)  <-- 组件库工具类

YFjs工具 下可以查阅核心 JS 库的相关文档。

一个完整引入组件库资源的 HTML 页面类似于:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="renderer" content="webkit">
    <title>Web Title</title>
    <!-- YFjs Lib -->
    <script src="[yfjs-lib path]/yfjs.js"></script>
</head>
<body>
</body>
</html>

入口配置 #

在引入组件库的入口 JS 文件时,我们可以通过定义以下属性来扩展组件库的功能。

下面是一个在研发阶段使用的入口配置项示例:

<script src="[yfjs-lib path]/yfjs.js?v=0.8.2"
        data-cache="false"
        data-debug="true">
</script>

浏览器兼容版本 #

表示支持的版本;表示更佳体验版本。

类型
版本