You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
1.1 KiB

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
function _react() {
const data = _interopRequireDefault(require("react"));
_react = function _react() {
return data;
};
return data;
}
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var _default = api => {
// disable by default
if (!api.userConfig.crossorigin) return;
api.describe({
key: 'crossorigin',
config: {
schema(joi) {
return joi.boolean();
}
}
});
api.chainWebpack(webpackConfig => {
webpackConfig.output.crossOriginLoading('anonymous');
return webpackConfig;
}); // last exec
api.modifyHTML({
fn: $ => {
$('script').each((i, elem) => {
const el = $(elem); // 在 local 的 script 标签上添加 crossorigin="anonymous"
if (el.attr('src') && !/^(https?:)?\/\//.test(el.attr('src'))) {
el.attr('crossorigin', 'anonymous');
}
});
return $;
},
stage: Infinity
});
};
exports.default = _default;