1.vue

<script src="http://cdn.bootcss.com/vue/1.0.28-csp/vue.js"></script>

<script src="http://cdn.bootcss.com/vue/2.1.10/vue.js"></script>

<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>

一个vue-resource的代码版本:0.7

/**
* vue-resource v0.7.0
* https://github.com/vuejs/vue-resource
* Released under the MIT License.
*/ (function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory();
else if(typeof define === 'function' && define.amd)
define([], factory);
else if(typeof exports === 'object')
exports["VueResource"] = factory();
else
root["VueResource"] = factory();
})(this, function() {
return /******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {}; /******/ // The require function
/******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache
/******/ if(installedModules[moduleId])
/******/ return installedModules[moduleId].exports; /******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ exports: {},
/******/ id: moduleId,
/******/ loaded: false
/******/ }; /******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ // Flag the module as loaded
/******/ module.loaded = true; /******/ // Return the exports of the module
/******/ return module.exports;
/******/ } /******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules; /******/ // expose the module cache
/******/ __webpack_require__.c = installedModules; /******/ // __webpack_public_path__
/******/ __webpack_require__.p = ""; /******/ // Load entry module and return exports
/******/ return __webpack_require__(0);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ function(module, exports, __webpack_require__) { /**
* Install plugin.
*/ function install(Vue) { var _ = __webpack_require__(1); _.config = Vue.config;
_.warning = Vue.util.warn;
_.nextTick = Vue.util.nextTick; Vue.url = __webpack_require__(2);
Vue.http = __webpack_require__(8);
Vue.resource = __webpack_require__(23);
Vue.Promise = __webpack_require__(10); Object.defineProperties(Vue.prototype, { $url: {
get: function () {
return _.options(Vue.url, this, this.$options.url);
}
}, $http: {
get: function () {
return _.options(Vue.http, this, this.$options.http);
}
}, $resource: {
get: function () {
return Vue.resource.bind(this);
}
}, $promise: {
get: function () {
return function (executor) {
return new Vue.Promise(executor, this);
}.bind(this);
}
} });
} if (window.Vue) {
Vue.use(install);
} module.exports = install; /***/ },
/* 1 */
/***/ function(module, exports) { /**
* Utility functions.
*/ var _ = exports, array = [], console = window.console; _.warn = function (msg) {
if (console && _.warning && (!_.config.silent || _.config.debug)) {
console.warn('[VueResource warn]: ' + msg);
}
}; _.error = function (msg) {
if (console) {
console.error(msg);
}
}; _.trim = function (str) {
return str.replace(/^\s*|\s*$/g, '');
}; _.toLower = function (str) {
return str ? str.toLowerCase() : '';
}; _.isArray = Array.isArray; _.isString = function (val) {
return typeof val === 'string';
}; _.isFunction = function (val) {
return typeof val === 'function';
}; _.isObject = function (obj) {
return obj !== null && typeof obj === 'object';
}; _.isPlainObject = function (obj) {
return _.isObject(obj) && Object.getPrototypeOf(obj) == Object.prototype;
}; _.options = function (fn, obj, options) { options = options || {}; if (_.isFunction(options)) {
options = options.call(obj);
} return _.merge(fn.bind({$vm: obj, $options: options}), fn, {$options: options});
}; _.each = function (obj, iterator) { var i, key; if (typeof obj.length == 'number') {
for (i = 0; i < obj.length; i++) {
iterator.call(obj[i], obj[i], i);
}
} else if (_.isObject(obj)) {
for (key in obj) {
if (obj.hasOwnProperty(key)) {
iterator.call(obj[key], obj[key], key);
}
}
} return obj;
}; _.defaults = function (target, source) { for (var key in source) {
if (target[key] === undefined) {
target[key] = source[key];
}
} return target;
}; _.extend = function (target) { var args = array.slice.call(arguments, 1); args.forEach(function (arg) {
merge(target, arg);
}); return target;
}; _.merge = function (target) { var args = array.slice.call(arguments, 1); args.forEach(function (arg) {
merge(target, arg, true);
}); return target;
}; function merge(target, source, deep) {
for (var key in source) {
if (deep && (_.isPlainObject(source[key]) || _.isArray(source[key]))) {
if (_.isPlainObject(source[key]) && !_.isPlainObject(target[key])) {
target[key] = {};
}
if (_.isArray(source[key]) && !_.isArray(target[key])) {
target[key] = [];
}
merge(target[key], source[key], deep);
} else if (source[key] !== undefined) {
target[key] = source[key];
}
}
} /***/ },
/* 2 */
/***/ function(module, exports, __webpack_require__) { /**
* Service for URL templating.
*/ var _ = __webpack_require__(1);
var ie = document.documentMode;
var el = document.createElement('a'); function Url(url, params) { var options = url, transform; if (_.isString(url)) {
options = {url: url, params: params};
} options = _.merge({}, Url.options, this.$options, options); Url.transforms.forEach(function (handler) {
transform = factory(handler, transform, this.$vm);
}, this); return transform(options);
}; /**
* Url options.
*/ Url.options = {
url: '',
root: null,
params: {}
}; /**
* Url transforms.
*/ Url.transforms = [
__webpack_require__(3),
__webpack_require__(5),
__webpack_require__(6),
__webpack_require__(7)
]; /**
* Encodes a Url parameter string.
*
* @param {Object} obj
*/ Url.params = function (obj) { var params = [], escape = encodeURIComponent; params.add = function (key, value) { if (_.isFunction(value)) {
value = value();
} if (value === null) {
value = '';
} this.push(escape(key) + '=' + escape(value));
}; serialize(params, obj); return params.join('&').replace(/%20/g, '+');
}; /**
* Parse a URL and return its components.
*
* @param {String} url
*/ Url.parse = function (url) { if (ie) {
el.href = url;
url = el.href;
} el.href = url; return {
href: el.href,
protocol: el.protocol ? el.protocol.replace(/:$/, '') : '',
port: el.port,
host: el.host,
hostname: el.hostname,
pathname: el.pathname.charAt(0) === '/' ? el.pathname : '/' + el.pathname,
search: el.search ? el.search.replace(/^\?/, '') : '',
hash: el.hash ? el.hash.replace(/^#/, '') : ''
};
}; function factory(handler, next, vm) {
return function (options) {
return handler.call(vm, options, next);
};
} function serialize(params, obj, scope) { var array = _.isArray(obj), plain = _.isPlainObject(obj), hash; _.each(obj, function (value, key) { hash = _.isObject(value) || _.isArray(value); if (scope) {
key = scope + '[' + (plain || hash ? key : '') + ']';
} if (!scope && array) {
params.add(value.name, value.value);
} else if (hash) {
serialize(params, value, key);
} else {
params.add(key, value);
}
});
} module.exports = _.url = Url; /***/ },
/* 3 */
/***/ function(module, exports, __webpack_require__) { /**
* URL Template (RFC 6570) Transform.
*/ var UrlTemplate = __webpack_require__(4); module.exports = function (options) { var variables = [], url = UrlTemplate.expand(options.url, options.params, variables); variables.forEach(function (key) {
delete options.params[key];
}); return url;
}; /***/ },
/* 4 */
/***/ function(module, exports) { /**
* URL Template v2.0.6 (https://github.com/bramstein/url-template)
*/ exports.expand = function (url, params, variables) { var tmpl = this.parse(url), expanded = tmpl.expand(params); if (variables) {
variables.push.apply(variables, tmpl.vars);
} return expanded;
}; exports.parse = function (template) { var operators = ['+', '#', '.', '/', ';', '?', '&'], variables = []; return {
vars: variables,
expand: function (context) {
return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function (_, expression, literal) {
if (expression) { var operator = null, values = []; if (operators.indexOf(expression.charAt(0)) !== -1) {
operator = expression.charAt(0);
expression = expression.substr(1);
} expression.split(/,/g).forEach(function (variable) {
var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable);
values.push.apply(values, exports.getValues(context, operator, tmp[1], tmp[2] || tmp[3]));
variables.push(tmp[1]);
}); if (operator && operator !== '+') { var separator = ','; if (operator === '?') {
separator = '&';
} else if (operator !== '#') {
separator = operator;
} return (values.length !== 0 ? operator : '') + values.join(separator);
} else {
return values.join(',');
} } else {
return exports.encodeReserved(literal);
}
});
}
};
}; exports.getValues = function (context, operator, key, modifier) { var value = context[key], result = []; if (this.isDefined(value) && value !== '') {
if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
value = value.toString(); if (modifier && modifier !== '*') {
value = value.substring(0, parseInt(modifier, 10));
} result.push(this.encodeValue(operator, value, this.isKeyOperator(operator) ? key : null));
} else {
if (modifier === '*') {
if (Array.isArray(value)) {
value.filter(this.isDefined).forEach(function (value) {
result.push(this.encodeValue(operator, value, this.isKeyOperator(operator) ? key : null));
}, this);
} else {
Object.keys(value).forEach(function (k) {
if (this.isDefined(value[k])) {
result.push(this.encodeValue(operator, value[k], k));
}
}, this);
}
} else {
var tmp = []; if (Array.isArray(value)) {
value.filter(this.isDefined).forEach(function (value) {
tmp.push(this.encodeValue(operator, value));
}, this);
} else {
Object.keys(value).forEach(function (k) {
if (this.isDefined(value[k])) {
tmp.push(encodeURIComponent(k));
tmp.push(this.encodeValue(operator, value[k].toString()));
}
}, this);
} if (this.isKeyOperator(operator)) {
result.push(encodeURIComponent(key) + '=' + tmp.join(','));
} else if (tmp.length !== 0) {
result.push(tmp.join(','));
}
}
}
} else {
if (operator === ';') {
result.push(encodeURIComponent(key));
} else if (value === '' && (operator === '&' || operator === '?')) {
result.push(encodeURIComponent(key) + '=');
} else if (value === '') {
result.push('');
}
} return result;
}; exports.isDefined = function (value) {
return value !== undefined && value !== null;
}; exports.isKeyOperator = function (operator) {
return operator === ';' || operator === '&' || operator === '?';
}; exports.encodeValue = function (operator, value, key) { value = (operator === '+' || operator === '#') ? this.encodeReserved(value) : encodeURIComponent(value); if (key) {
return encodeURIComponent(key) + '=' + value;
} else {
return value;
}
}; exports.encodeReserved = function (str) {
return str.split(/(%[0-9A-Fa-f]{2})/g).map(function (part) {
if (!/%[0-9A-Fa-f]/.test(part)) {
part = encodeURI(part);
}
return part;
}).join('');
}; /***/ },
/* 5 */
/***/ function(module, exports, __webpack_require__) { /**
* Legacy Transform.
*/ var _ = __webpack_require__(1); module.exports = function (options, next) { var variables = [], url = next(options); url = url.replace(/(\/?):([a-z]\w*)/gi, function (match, slash, name) { _.warn('The `:' + name + '` parameter syntax has been deprecated. Use the `{' + name + '}` syntax instead.'); if (options.params[name]) {
variables.push(name);
return slash + encodeUriSegment(options.params[name]);
} return '';
}); variables.forEach(function (key) {
delete options.params[key];
}); return url;
}; function encodeUriSegment(value) { return encodeUriQuery(value, true).
replace(/%26/gi, '&').
replace(/%3D/gi, '=').
replace(/%2B/gi, '+');
} function encodeUriQuery(value, spaces) { return encodeURIComponent(value).
replace(/%40/gi, '@').
replace(/%3A/gi, ':').
replace(/%24/g, '$').
replace(/%2C/gi, ',').
replace(/%20/g, (spaces ? '%20' : '+'));
} /***/ },
/* 6 */
/***/ function(module, exports, __webpack_require__) { /**
* Query Parameter Transform.
*/ var _ = __webpack_require__(1); module.exports = function (options, next) { var urlParams = Object.keys(_.url.options.params), query = {}, url = next(options); _.each(options.params, function (value, key) {
if (urlParams.indexOf(key) === -1) {
query[key] = value;
}
}); query = _.url.params(query); if (query) {
url += (url.indexOf('?') == -1 ? '?' : '&') + query;
} return url;
}; /***/ },
/* 7 */
/***/ function(module, exports, __webpack_require__) { /**
* Root Prefix Transform.
*/ var _ = __webpack_require__(1); module.exports = function (options, next) { var url = next(options); if (_.isString(options.root) && !url.match(/^(https?:)?\//)) {
url = options.root + '/' + url;
} return url;
}; /***/ },
/* 8 */
/***/ function(module, exports, __webpack_require__) { /**
* Service for sending network requests.
*/ var _ = __webpack_require__(1);
var Client = __webpack_require__(9);
var Promise = __webpack_require__(10);
var interceptor = __webpack_require__(13);
var jsonType = {'Content-Type': 'application/json'}; function Http(url, options) { var client = Client, request, promise; Http.interceptors.forEach(function (handler) {
client = interceptor(handler, this.$vm)(client);
}, this); options = _.isObject(url) ? url : _.extend({url: url}, options);
request = _.merge({}, Http.options, this.$options, options);
promise = client(request).bind(this.$vm).then(function (response) { return response.ok ? response : Promise.reject(response); }, function (response) { if (response instanceof Error) {
_.error(response);
} return Promise.reject(response);
}); if (request.success) {
promise.success(request.success);
} if (request.error) {
promise.error(request.error);
} return promise;
} Http.options = {
method: 'get',
data: '',
params: {},
headers: {},
xhr: null,
upload: null,
jsonp: 'callback',
beforeSend: null,
crossOrigin: null,
emulateHTTP: false,
emulateJSON: false,
timeout: 0
}; Http.interceptors = [
__webpack_require__(14),
__webpack_require__(15),
__webpack_require__(16),
__webpack_require__(18),
__webpack_require__(19),
__webpack_require__(20),
__webpack_require__(21)
]; Http.headers = {
put: jsonType,
post: jsonType,
patch: jsonType,
delete: jsonType,
common: {'Accept': 'application/json, text/plain, */*'},
custom: {'X-Requested-With': 'XMLHttpRequest'}
}; ['get', 'put', 'post', 'patch', 'delete', 'jsonp'].forEach(function (method) { Http[method] = function (url, data, success, options) { if (_.isFunction(data)) {
options = success;
success = data;
data = undefined;
} if (_.isObject(success)) {
options = success;
success = undefined;
} return this(url, _.extend({method: method, data: data, success: success}, options));
};
}); module.exports = _.http = Http; /***/ },
/* 9 */
/***/ function(module, exports, __webpack_require__) { /**
* Base client.
*/ var _ = __webpack_require__(1);
var Promise = __webpack_require__(10);
var xhrClient = __webpack_require__(12); module.exports = function (request) { var response = (request.client || xhrClient)(request); return Promise.resolve(response).then(function (response) { if (response.headers) { var headers = parseHeaders(response.headers); response.headers = function (name) { if (name) {
return headers[_.toLower(name)];
} return headers;
}; } response.ok = response.status >= 200 && response.status < 300; return response;
}); }; function parseHeaders(str) { var headers = {}, value, name, i; if (_.isString(str)) {
_.each(str.split('\n'), function (row) { i = row.indexOf(':');
name = _.trim(_.toLower(row.slice(0, i)));
value = _.trim(row.slice(i + 1)); if (headers[name]) { if (_.isArray(headers[name])) {
headers[name].push(value);
} else {
headers[name] = [headers[name], value];
} } else { headers[name] = value;
} });
} return headers;
} /***/ },
/* 10 */
/***/ function(module, exports, __webpack_require__) { /**
* Promise adapter.
*/ var _ = __webpack_require__(1);
var PromiseObj = window.Promise || __webpack_require__(11); function Promise(executor, context) { if (executor instanceof PromiseObj) {
this.promise = executor;
} else {
this.promise = new PromiseObj(executor.bind(context));
} this.context = context;
} Promise.all = function (iterable, context) {
return new Promise(PromiseObj.all(iterable), context);
}; Promise.resolve = function (value, context) {
return new Promise(PromiseObj.resolve(value), context);
}; Promise.reject = function (reason, context) {
return new Promise(PromiseObj.reject(reason), context);
}; Promise.race = function (iterable, context) {
return new Promise(PromiseObj.race(iterable), context);
}; var p = Promise.prototype; p.bind = function (context) {
this.context = context;
return this;
}; p.then = function (fulfilled, rejected) { if (fulfilled && fulfilled.bind && this.context) {
fulfilled = fulfilled.bind(this.context);
} if (rejected && rejected.bind && this.context) {
rejected = rejected.bind(this.context);
} this.promise = this.promise.then(fulfilled, rejected); return this;
}; p.catch = function (rejected) { if (rejected && rejected.bind && this.context) {
rejected = rejected.bind(this.context);
} this.promise = this.promise.catch(rejected); return this;
}; p.finally = function (callback) { return this.then(function (value) {
callback.call(this);
return value;
}, function (reason) {
callback.call(this);
return PromiseObj.reject(reason);
}
);
}; p.success = function (callback) { _.warn('The `success` method has been deprecated. Use the `then` method instead.'); return this.then(function (response) {
return callback.call(this, response.data, response.status, response) || response;
});
}; p.error = function (callback) { _.warn('The `error` method has been deprecated. Use the `catch` method instead.'); return this.catch(function (response) {
return callback.call(this, response.data, response.status, response) || response;
});
}; p.always = function (callback) { _.warn('The `always` method has been deprecated. Use the `finally` method instead.'); var cb = function (response) {
return callback.call(this, response.data, response.status, response) || response;
}; return this.then(cb, cb);
}; module.exports = Promise; /***/ },
/* 11 */
/***/ function(module, exports, __webpack_require__) { /**
* Promises/A+ polyfill v1.1.4 (https://github.com/bramstein/promis)
*/ var _ = __webpack_require__(1); var RESOLVED = 0;
var REJECTED = 1;
var PENDING = 2; function Promise(executor) { this.state = PENDING;
this.value = undefined;
this.deferred = []; var promise = this; try {
executor(function (x) {
promise.resolve(x);
}, function (r) {
promise.reject(r);
});
} catch (e) {
promise.reject(e);
}
} Promise.reject = function (r) {
return new Promise(function (resolve, reject) {
reject(r);
});
}; Promise.resolve = function (x) {
return new Promise(function (resolve, reject) {
resolve(x);
});
}; Promise.all = function all(iterable) {
return new Promise(function (resolve, reject) {
var count = 0, result = []; if (iterable.length === 0) {
resolve(result);
} function resolver(i) {
return function (x) {
result[i] = x;
count += 1; if (count === iterable.length) {
resolve(result);
}
};
} for (var i = 0; i < iterable.length; i += 1) {
Promise.resolve(iterable[i]).then(resolver(i), reject);
}
});
}; Promise.race = function race(iterable) {
return new Promise(function (resolve, reject) {
for (var i = 0; i < iterable.length; i += 1) {
Promise.resolve(iterable[i]).then(resolve, reject);
}
});
}; var p = Promise.prototype; p.resolve = function resolve(x) {
var promise = this; if (promise.state === PENDING) {
if (x === promise) {
throw new TypeError('Promise settled with itself.');
} var called = false; try {
var then = x && x['then']; if (x !== null && typeof x === 'object' && typeof then === 'function') {
then.call(x, function (x) {
if (!called) {
promise.resolve(x);
}
called = true; }, function (r) {
if (!called) {
promise.reject(r);
}
called = true;
});
return;
}
} catch (e) {
if (!called) {
promise.reject(e);
}
return;
} promise.state = RESOLVED;
promise.value = x;
promise.notify();
}
}; p.reject = function reject(reason) {
var promise = this; if (promise.state === PENDING) {
if (reason === promise) {
throw new TypeError('Promise settled with itself.');
} promise.state = REJECTED;
promise.value = reason;
promise.notify();
}
}; p.notify = function notify() {
var promise = this; _.nextTick(function () {
if (promise.state !== PENDING) {
while (promise.deferred.length) {
var deferred = promise.deferred.shift(),
onResolved = deferred[0],
onRejected = deferred[1],
resolve = deferred[2],
reject = deferred[3]; try {
if (promise.state === RESOLVED) {
if (typeof onResolved === 'function') {
resolve(onResolved.call(undefined, promise.value));
} else {
resolve(promise.value);
}
} else if (promise.state === REJECTED) {
if (typeof onRejected === 'function') {
resolve(onRejected.call(undefined, promise.value));
} else {
reject(promise.value);
}
}
} catch (e) {
reject(e);
}
}
}
});
}; p.then = function then(onResolved, onRejected) {
var promise = this; return new Promise(function (resolve, reject) {
promise.deferred.push([onResolved, onRejected, resolve, reject]);
promise.notify();
});
}; p.catch = function (onRejected) {
return this.then(undefined, onRejected);
}; module.exports = Promise; /***/ },
/* 12 */
/***/ function(module, exports, __webpack_require__) { /**
* XMLHttp client.
*/ var _ = __webpack_require__(1);
var Promise = __webpack_require__(10); module.exports = function (request) {
return new Promise(function (resolve) { var xhr = new XMLHttpRequest(), response = {request: request}, handler; request.cancel = function () {
xhr.abort();
}; xhr.open(request.method, _.url(request), true); handler = function (event) { response.data = xhr.responseText;
response.status = xhr.status;
response.statusText = xhr.statusText;
response.headers = xhr.getAllResponseHeaders(); resolve(response);
}; xhr.timeout = 0;
xhr.onload = handler;
xhr.onabort = handler;
xhr.onerror = handler;
xhr.ontimeout = function () {};
xhr.onprogress = function () {}; if (_.isPlainObject(request.xhr)) {
_.extend(xhr, request.xhr);
} if (_.isPlainObject(request.upload)) {
_.extend(xhr.upload, request.upload);
} _.each(request.headers || {}, function (value, header) {
xhr.setRequestHeader(header, value);
}); xhr.send(request.data);
});
}; /***/ },
/* 13 */
/***/ function(module, exports, __webpack_require__) { /**
* Interceptor factory.
*/ var _ = __webpack_require__(1);
var Promise = __webpack_require__(10); module.exports = function (handler, vm) { return function (client) { if (_.isFunction(handler)) {
handler = handler.call(vm, Promise);
} return function (request) { if (_.isFunction(handler.request)) {
request = handler.request.call(vm, request);
} return when(request, function (request) {
return when(client(request), function (response) { if (_.isFunction(handler.response)) {
response = handler.response.call(vm, response);
} return response;
});
});
};
};
}; function when(value, fulfilled, rejected) { var promise = Promise.resolve(value); if (arguments.length < 2) {
return promise;
} return promise.then(fulfilled, rejected);
} /***/ },
/* 14 */
/***/ function(module, exports, __webpack_require__) { /**
* Before Interceptor.
*/ var _ = __webpack_require__(1); module.exports = { request: function (request) { if (_.isFunction(request.beforeSend)) {
request.beforeSend.call(this, request);
} return request;
} }; /***/ },
/* 15 */
/***/ function(module, exports) { /**
* Timeout Interceptor.
*/ module.exports = function () { var timeout; return { request: function (request) { if (request.timeout) {
timeout = setTimeout(function () {
request.cancel();
}, request.timeout);
} return request;
}, response: function (response) { clearTimeout(timeout); return response;
} };
}; /***/ },
/* 16 */
/***/ function(module, exports, __webpack_require__) { /**
* JSONP Interceptor.
*/ var jsonpClient = __webpack_require__(17); module.exports = { request: function (request) { if (request.method == 'JSONP') {
request.client = jsonpClient;
} return request;
} }; /***/ },
/* 17 */
/***/ function(module, exports, __webpack_require__) { /**
* JSONP client.
*/ var _ = __webpack_require__(1);
var Promise = __webpack_require__(10); module.exports = function (request) {
return new Promise(function (resolve) { var callback = '_jsonp' + Math.random().toString(36).substr(2), response = {request: request, data: null}, handler, script; request.params[request.jsonp] = callback;
request.cancel = function () {
handler({type: 'cancel'});
}; script = document.createElement('script');
script.src = _.url(request);
script.type = 'text/javascript';
script.async = true; window[callback] = function (data) {
response.data = data;
}; handler = function (event) { if (event.type === 'load' && response.data !== null) {
response.status = 200;
} else if (event.type === 'error') {
response.status = 404;
} else {
response.status = 0;
} resolve(response); delete window[callback];
document.body.removeChild(script);
}; script.onload = handler;
script.onerror = handler; document.body.appendChild(script);
});
}; /***/ },
/* 18 */
/***/ function(module, exports) { /**
* HTTP method override Interceptor.
*/ module.exports = { request: function (request) { if (request.emulateHTTP && /^(PUT|PATCH|DELETE)$/i.test(request.method)) {
request.headers['X-HTTP-Method-Override'] = request.method;
request.method = 'POST';
} return request;
} }; /***/ },
/* 19 */
/***/ function(module, exports, __webpack_require__) { /**
* Mime Interceptor.
*/ var _ = __webpack_require__(1); module.exports = { request: function (request) { if (request.emulateJSON && _.isPlainObject(request.data)) {
request.headers['Content-Type'] = 'application/x-www-form-urlencoded';
request.data = _.url.params(request.data);
} if (_.isObject(request.data) && /FormData/i.test(request.data.toString())) {
delete request.headers['Content-Type'];
} if (_.isPlainObject(request.data)) {
request.data = JSON.stringify(request.data);
} return request;
}, response: function (response) { try {
response.data = JSON.parse(response.data);
} catch (e) {} return response;
} }; /***/ },
/* 20 */
/***/ function(module, exports, __webpack_require__) { /**
* Header Interceptor.
*/ var _ = __webpack_require__(1); module.exports = { request: function (request) { request.method = request.method.toUpperCase();
request.headers = _.extend({}, _.http.headers.common,
!request.crossOrigin ? _.http.headers.custom : {},
_.http.headers[request.method.toLowerCase()],
request.headers
); if (_.isPlainObject(request.data) && /^(GET|JSONP)$/i.test(request.method)) {
_.extend(request.params, request.data);
delete request.data;
} return request;
} }; /***/ },
/* 21 */
/***/ function(module, exports, __webpack_require__) { /**
* CORS Interceptor.
*/ var _ = __webpack_require__(1);
var xdrClient = __webpack_require__(22);
var xhrCors = 'withCredentials' in new XMLHttpRequest();
var originUrl = _.url.parse(location.href); module.exports = { request: function (request) { if (request.crossOrigin === null) {
request.crossOrigin = crossOrigin(request);
} if (request.crossOrigin) { if (!xhrCors) {
request.client = xdrClient;
} request.emulateHTTP = false;
} return request;
} }; function crossOrigin(request) { var requestUrl = _.url.parse(_.url(request)); return (requestUrl.protocol !== originUrl.protocol || requestUrl.host !== originUrl.host);
} /***/ },
/* 22 */
/***/ function(module, exports, __webpack_require__) { /**
* XDomain client (Internet Explorer).
*/ var _ = __webpack_require__(1);
var Promise = __webpack_require__(10); module.exports = function (request) {
return new Promise(function (resolve) { var xdr = new XDomainRequest(), response = {request: request}, handler; request.cancel = function () {
xdr.abort();
}; xdr.open(request.method, _.url(request), true); handler = function (event) { response.data = xdr.responseText;
response.status = xdr.status;
response.statusText = xdr.statusText; resolve(response);
}; xdr.timeout = 0;
xdr.onload = handler;
xdr.onabort = handler;
xdr.onerror = handler;
xdr.ontimeout = function () {};
xdr.onprogress = function () {}; xdr.send(request.data);
});
}; /***/ },
/* 23 */
/***/ function(module, exports, __webpack_require__) { /**
* Service for interacting with RESTful services.
*/ var _ = __webpack_require__(1); function Resource(url, params, actions, options) { var self = this, resource = {}; actions = _.extend({},
Resource.actions,
actions
); _.each(actions, function (action, name) { action = _.merge({url: url, params: params || {}}, options, action); resource[name] = function () {
return (self.$http || _.http)(opts(action, arguments));
};
}); return resource;
} function opts(action, args) { var options = _.extend({}, action), params = {}, data, success, error; switch (args.length) { case 4: error = args[3];
success = args[2]; case 3:
case 2: if (_.isFunction(args[1])) { if (_.isFunction(args[0])) { success = args[0];
error = args[1]; break;
} success = args[1];
error = args[2]; } else { params = args[0];
data = args[1];
success = args[2]; break;
} case 1: if (_.isFunction(args[0])) {
success = args[0];
} else if (/^(POST|PUT|PATCH)$/i.test(options.method)) {
data = args[0];
} else {
params = args[0];
} break; case 0: break; default: throw 'Expected up to 4 arguments [params, data, success, error], got ' + args.length + ' arguments';
} options.data = data;
options.params = _.extend({}, options.params, params); if (success) {
options.success = success;
} if (error) {
options.error = error;
} return options;
} Resource.actions = { get: {method: 'GET'},
save: {method: 'POST'},
query: {method: 'GET'},
update: {method: 'PUT'},
remove: {method: 'DELETE'},
delete: {method: 'DELETE'} }; module.exports = _.resource = Resource; /***/ }
/******/ ])
});
;

一些自己常用的cdn的更多相关文章

  1. 收集一些常用的CDN链接!无需下载快速使用!

    一些常用的CDN链接,可以到这里看: http://www.bootcdn.cn/ 这个网站查找资源的方式很简单,后缀加上要查找的名字即可: 例如: http://www.bootcdn.cn/boo ...

  2. cdn_一些常用的cdn地址

    https://code.jquery.com/jquery-3.3.1.jshttps://cdn.bootcss.com/jquery/2.1.4/jquery.min.js https://cd ...

  3. 常用的CDN 链接 http://cdn.code.baidu.com/ http://www.bootcdn.cn/

    http://cdn.code.baidu.com/ http://developer.baidu.com/wiki/index.php?title=docs/cplat/libs ★新浪CDN,感觉 ...

  4. 各种常用的CDN加速服务

    各种CDN加速网址:点击此处 1.Echar <script type="text/javascript" src="http://echarts.baidu.co ...

  5. 一些常用的CDN列表

    Microsoft Ajax Content Delivery Network 点击查看详细列表

  6. 前端公共库cdn服务推荐//提高加载速度/节省流量

    前端公共库cdn服务推荐,使用可以提高js库加载速度同时也可以节省自己空间的流量,CDN加速公共库虽好,不过一定要使用靠谱的前端cdn服务提供方. 以下整理出比较靠谱的国内cdn加速服务器.排名不分先 ...

  7. 5个可用提高Godaddy主机速度的第三方CDN加速服务商

    毕竟Godaddy主机数据中心位于美国.新加坡.欧洲三个数据中心,一般我们都会选择美国数据中心,相比较其他2个机房的速度是快和稳定的,很多人要说为什么新加坡数据中心速度不好呢?因为目前的新加坡机房不是 ...

  8. 从cdn说起

    为什么要使用cdn 雅虎军规有一条规则建议我们是用cdn.随便在网上搜索,可以找到使用的cdn的好处. 再次强调第一条黄金定律,减少网页内容的下载时间.提高下载速度还可以通过CDN(内容分发网络)来提 ...

  9. 最全免费CDN公共库——网站提速

    开源静态文件 CDN 我们的目标是提供这样一个仓库,让它尽可能全面收录优秀的开源库,并免费为之提供 CDN 加速服务,使之有更好的访问速度和稳定的环境.同时,我们也提供开源库源接入的入口,让所有人都可 ...

随机推荐

  1. PreparedStatement vs Statement

    Statement和PreparedStatement之间的区别 1.PreparedStatement是预编译的,对于批量处理可以大大提高效率. 也叫JDBC存储过程   2.使用 Statemen ...

  2. Jenkins持续集成【简介】

    1.1 目前主流网站部署的流程    目前主流网站部署方法,通过Hudson/Jenkins工具平台实现全自动部署+测试,是一个可扩展的持续集成引擎,是一个开源软件项目,旨在提供一个开放易用的软件平台 ...

  3. 终于修好了MacBook

    之前由于Trackpad故障,陆家嘴苹果店开了维修单,让我在2周内去更换,详见第二次去苹果店维修MacBook. 后来由于购买了AppleCare进行延保,又担心放在那维修时间长,就懒得去更换了. 昨 ...

  4. R中绘制聚类的离散图

    R中利用cluster简单的绘制常见聚类离散图 # 引入cluster库(clara.fanny) library(cluster) # 聚类散点图绘制 # 引入factoextra,cluster库 ...

  5. 模反元素 RSA Euler's totient function

    https://baike.baidu.com/item/模反元素/20417595 如果两个正整数a和n互质,那么一定可以找到整数b,使得 ab-1 被n整除,或者说ab被n除的余数是1.这时,b就 ...

  6. wireshark udp 序列号 User Datagram Protocol UDP

    序列号等差2^8固定首部20字节首部20+4字节数据部分1378字节片偏移0位Quick UDP Internet

  7. ES_DEVOPS-1

    When dealing with a large number of parallel operations in elasticsearch, such as search requests or ...

  8. ubuntu ---QQ install/desktop/ibus reinstall

    http://www.linuxidc.com/Linux/2016-09/134923.htm ( Ubuntu 16.04安装QQ国际版图文详细教程) [ sudo apt-get install ...

  9. Redundant Paths---poj3177(双连通分量)

    题目链接:http://poj.org/problem?id=3177 题意:有n个牧场,Bessie 要从一个牧场到另一个牧场,要求至少要有2条独立的路可以走.现已有m条路,求至少要新建多少条路,使 ...

  10. receive.denyCurrentBranch 推送错误解决

    场景: 1.搭建Ok了一git服务器 2.本机上的现有源码,现在想纳入git源码管理 操作: 1.服务器上创建了工程仓库 git init 2. 客户端使用tortoisegit添加并提交要纳入源码管 ...