VueJSWebpack从构建中拆分CSS

问题描述

我正在为vuejs 2.6.11项目中的客户工作,我们想为css +资产提供cdn,以便根据whitemark配置应用不同的css主题。

一切正常,npm run build可以用哈希创建一个文件css捆绑包,导出资产,删除inex.html =>中的调用,没问题。

我最近遇到的问题是,分块的css文件仍被调用(看起来是由webpack引导程序中的mini-css-extract-plugin注入的),但我还没有找到删除这些调用的选项或其他方法轻轻地。

webpack:///webpack/bootstrap
... 

// mini-css-extract-plugin CSS loading
var cssChunks = {"pages":1};
if(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);
else if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {
    promises.push(installedCssChunks[chunkId] = new Promise(function(resolve,reject) {
        var href = "css/" + ({"pages":"pages"}[chunkId]||chunkId) + "." + {"chunk-2d0b386c":"31d6cfe0","chunk-2d0c4c35":"31d6cfe0","pages":"f67ce890"}[chunkId] + ".css";
        var fullhref = __webpack_require__.p + href;
        var existingLinkTags = document.getElementsByTagName("link");
        for(var i = 0; i < existingLinkTags.length; i++) {
            var tag = existingLinkTags[i];
            var dataHref = tag.getAttribute("data-href") || tag.getAttribute("href");
            if(tag.rel === "stylesheet" && (dataHref === href || dataHref === fullhref)) return resolve();
        }
        var existingStyleTags = document.getElementsByTagName("style");
        for(var i = 0; i < existingStyleTags.length; i++) {
            var tag = existingStyleTags[i];
            var dataHref = tag.getAttribute("data-href");
            if(dataHref === href || dataHref === fullhref) return resolve();
        }
        var linkTag = document.createElement("link");
        linkTag.rel = "stylesheet";
        linkTag.type = "text/css";
        linkTag.onload = resolve;
        linkTag.onerror = function(event) {
            var request = event && event.target && event.target.src || fullhref;
            var err = new Error("Loading CSS chunk " + chunkId + " failed.\n(" + request + ")");
            err.code = "CSS_CHUNK_LOAD_FAILED";
            err.request = request;
            delete installedCssChunks[chunkId]
            linkTag.parentNode.removeChild(linkTag)
            reject(err);
        };
        linkTag.href = fullhref;

        var head = document.getElementsByTagName("head")[0];
        head.appendChild(linkTag);
    }).then(function() {
        installedCssChunks[chunkId] = 0;
    }));
}

删除pwa插件无效。

所以,如果有人有解决方案,我就接受:)

非常感谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...