提交 647fef72 编写于 作者: A Alex Dima

Make CSS inlining limit configurable (Microsoft/monaco-editor#336)

上级 39e078f6
......@@ -118,6 +118,7 @@ var CSSLoaderPlugin;
config = config || {};
var myConfig = config['vs/css'] || {};
global.inlineResources = myConfig.inlineResources;
global.inlineResourcesLimit = myConfig.inlineResourcesLimit || 5000;
var cssUrl = req.toUrl(name + '.css');
this.cssLoader.load(name, cssUrl, function (contents) {
// Contents has the CSS file contents if we are in a build
......@@ -156,7 +157,7 @@ var CSSLoaderPlugin;
], entries = global.cssPluginEntryPoints[moduleName];
for (var i = 0; i < entries.length; i++) {
if (global.inlineResources) {
contents.push(Utilities.rewriteOrInlineUrls(entries[i].fsPath, entries[i].moduleName, moduleName, entries[i].contents, global.inlineResources === 'base64'));
contents.push(Utilities.rewriteOrInlineUrls(entries[i].fsPath, entries[i].moduleName, moduleName, entries[i].contents, global.inlineResources === 'base64', global.inlineResourcesLimit));
}
else {
contents.push(Utilities.rewriteUrls(entries[i].moduleName, moduleName, entries[i].contents));
......@@ -307,14 +308,14 @@ var CSSLoaderPlugin;
return Utilities.relativePath(newFile, absoluteUrl);
});
};
Utilities.rewriteOrInlineUrls = function (originalFileFSPath, originalFile, newFile, contents, forceBase64) {
Utilities.rewriteOrInlineUrls = function (originalFileFSPath, originalFile, newFile, contents, forceBase64, inlineByteLimit) {
var fs = require.nodeRequire('fs');
var path = require.nodeRequire('path');
return this._replaceURL(contents, function (url) {
if (/\.(svg|png)$/.test(url)) {
var fsPath = path.join(path.dirname(originalFileFSPath), url);
var fileContents = fs.readFileSync(fsPath);
if (fileContents.length < 5000) {
if (fileContents.length < inlineByteLimit) {
global.cssInlinedResources = global.cssInlinedResources || [];
var normalizedFSPath = fsPath.replace(/\\/g, '/');
if (global.cssInlinedResources.indexOf(normalizedFSPath) >= 0) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册