- 浏览: 208040 次
最新评论
文章列表
instantiateReactComponent用于将ReactNode转化为用于挂载、更新到页面视图上的实例。
'use strict';
var _prodInvariant = require('./reactProdInvariant'),// 生产环境React形式带url报错
_assign = require('object-assign');
// 用于更新或挂载用户自定义组件的协调器
var ReactCompositeComponent = require('./ReactCompositeComponent');
// 用于创建空组 ...
warning源码
- 博客分类:
- react-fbjs源码
warning(condition,format) condition为否值时报错,从第三个参数开始字符串替换format中的"%s"
'use strict';
var emptyFunction = require('./emptyFunction');
// condition为否值,format中%s转化为剩余参数,通过console.error打印错误文本或直接报错
var warning = emptyFunction;
if (process.env.NODE_ENV !== 'production') {
(function ...
1.轴心createBaseForm.js模块:封装WrappedComponent下游组件,为其提供props.form表单赋值、校验工具函数集。
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
// defineProperty(obj,name,value)定义对象的属性
var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
var _defineP ...
用于设置步骤条
import { Steps, Icon } from 'antd';
const Step = Steps.Step;
ReactDOM.render(<Steps>
<Step status="finish" title="Login" icon={<Icon type="user" />}/>
<Step
react-resource源码
- 博客分类:
- react相关
react-resource.js发送请求,返回promise,不像jquery那样可以自由设置contentType,数据预处理等
/* ==========================================================================
[COMPONENT] React-Resource
--------------------------------------------------------------------------
Component for creating http restful ...
react-router-redux源码
- 博客分类:
- react相关
1.index.js
// 作为外部syncHistoryWithStore接口方法
// 绑定store.dispatch方法引起的state中路由状态变更到影响浏览器location变更
// 绑定浏览器location变更触发store.dispatch,更新state中路由状态
// 返回当前的histroy、绑定方法listen(dispatch ...
1.redux中间件简介
使用中间件的目的,派发事件的过程中,处理事件执行前的state、装饰事件执行中的dispatch方法(包含处理事件执行中的action)、处理事件执行后的state。
redux-logger模块,打印事件执行前后的state、以及action、 ...
与artTemplate大不同的是
artTemplate使用split分割模板字符串;ejs通过基于正则的match方法分割模板字符串。
artTemplate通过传入辅助函数的引用拼接编译函数字符串;ejs有赖于js原生语句实现each、if语法,普通内容直接push到__output中,构建编译函数字符串。
1.ejs.js
/*
* EJS Embedded JavaScript templates
* Copyright 2112 Matthew Eernisse (mde@fleegix.org)
*
* Licensed under the Apac ...
artTemplate源码
- 博客分类:
- 前端模板引擎
主要实现:通过拼接字符串的方式构建编译函数,辅助函数通过在编译函数字符串体内以var methodName=function(){}方式传入,因此编译函数字符串体内就可以使用methodName方式加以调用;用户数据通过向编译函数传参注入,赋值给$data后,就可以使用$data.value的方式使用;if、each语句预先通过parser方法将其拼接为js形式的if、each语法。
1.构建编译函数
compile.js
/**
* 编译模板
* 2012-6-6 @TooBug: define 方法名改为 compile,与 Node Express 保持一致
* ...
reflux-core源码
- 博客分类:
- react相关
1.index.js
const version = {
"reflux-core": "@VERSION"
};
// 用户设置createAction返回对象中待添加的方法,创建实例时不可被重复设置,通过闭包存储数据
// 且须保证方法名没有跟PublisherMethods中的方法名起冲突,preEmit、shouldEmit方法除外
import * as ActionMethods from "./ActionMethods";
// action、store扩展为事件对象
import * a ...
orchestrator模块源码
- 博客分类:
- gulp
回调函数视作为任务,配置任务名和依赖任务两个属性,通过任务名执行回调函数。
个中实现可以同模块化加载器requirejs、seajs相比较。
orchestrator.js
"use strict";
var util = require('util');
var events = require('events');
var EventEmitter = events.EventEmitter;
var runTask = require('./lib/runTask');
var Orchestrator = function () {
...
traversing.js源码
- 博客分类:
- jquery源码
提供查询、过滤方法
traversing.js
// dir.js
define([
"../../core"
],function(jQuery){
return function(elem,dir,until){
var matched=[],
truncate=until!==undefined;
while ( ( elem=elem[dir] ) && elem.nodeType!==9 ){
if ( elem.nodeType===1 ) {
if ( truncate &&a ...
提供wrap、wrapAll、wrapInnner、unWrap方法,外部包裹、内部包裹、或移除父级包裹元素
define([
"./core",
"./core/init",
"./manipulation", // clone
"./traversing" // parent, contents
],function(jQuery){
jQuery.fn.extend({
// 只能针对单个元素,wrap方法可以是多个元素
// html可以是选择器,将拷贝页面上的元素用 ...
首先使用原生语句查找,其次在context下找到所有节点元素,校验元素是否匹配选择器,进行过滤,获取到待查询的元素。
过滤时分为两种情形,针对选择器是否带:first()等位置关系伪类,若携带,setMatcher函数得到过滤函数,:first()伪类的校验函数也通过引用对象的形式“滤除“未匹配的节点;若不携带,elementMatcher得到校验函数,其中层级关系如“#form > .input”,通过addCombinator函数包装“#form“的校验函数,根据选择器">"待校验节点和待过滤节elem的位置关系得到待校验节点,同样赋值给elem(以便传 ...
jstree源码解读
- 博客分类:
- jquery插件
(function (factory){
"use strict";
if ( typeof define==='function' && define.amd ){
define(['jquery'], factory);
}
else if( typeof module!=='undefined' && module.exports ){
module.exports=factory(require('jquery'));
}
else {
factory(jQuery);
}
}(f ...