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. ZOJ 3210 A Stack or A Queue?

    A Stack or A Queue? Time Limit: 1 Second      Memory Limit: 32768 KB Do you know stack and queue? Th ...

  2. 小米范工具系列之一:小米范 web查找器

    最新版本1.5,下载地址:http://pan.baidu.com/s/1c1NDSVe  文件名web finder,请使用java1.8运行 小米范 web查找器主要功能为快速端口扫描,并识别we ...

  3. dp\dpi\px\pt\em单位长度理解

    屏幕都有固定的物理长宽度属性和分辨率 比如电脑.比如手机屏幕 例如有手机屏幕尺寸是1.5英寸x2英寸,屏幕分辨率为240x320, 那么可以推算水平方向每英寸的像素数(dpi)是:240/1.5=16 ...

  4. centos Linux系统日常管理2 tcpdump,tshark,selinux,strings命令, iptables ,crontab,TCP,UDP,ICMP,FTP网络知识 第十五节课

    centos  Linux系统日常管理2  tcpdump,tshark,selinux,strings命令, iptables ,crontab,TCP,UDP,ICMP,FTP网络知识 第十五节课 ...

  5. Java Thread 如何处理未捕获的异常?

    Java Thread是不允许异常抛出到本线程之外的,Runnable接口的public abstract void run()是不允许throws Exception的,这在编译时就通不过. 线程异 ...

  6. requirements.txt

    在文件夹下 生成requirements.txt文件 pip freeze > requirements.txt 安装requirements.txt依赖 pip install -r requ ...

  7. MySQL中特有的函数CONV函数

    CONV函数:用于对数字进行转换,比如将十进制的数字转化成二进制,参数格式convert(N,frombse,tobase) 将数字N从frombase进制转化成tobase进制,并且以字符串的格式返 ...

  8. macbook 蓝牙关闭按钮灰色的

    PRAM重置:1.关机,拔掉所有外设,只连接电源线2.按开机键,接着马上同时按住 command+option+p+r 键,按住后听到三次dang的开机音后放开3.电脑会自行启动,进到登录页面后点关机 ...

  9. mysql数据库权限

    use mysql select * from user \G; UPDATE user set password=PASSWORD('root') where user='root' grant a ...

  10. VS2010/MFC编程入门之前言

    鸡啄米的C++编程入门系列给大家讲了C++的编程入门知识,大家对C++语言在语法和设计思想上应该有了一定的了解了.但是教程中讲的例子只是一个个简单的例程,并没有可视化窗口.鸡啄米在这套VS2010/M ...