Android build breaking with standardBrowserEnv (black screen)

I’m porting a large project from 1.9.3 to 2.3.3, and when I’m building Android this code is inserted automactly in the compiled js

    23: [ function(require, module, exports) {
    "use strict";
    var utils = require("./../utils");
    module.exports = utils.isStandardBrowserEnv() ? function standardBrowserEnv() {
    var msie = /(msie|trident)/i.test(navigator.userAgent);
    var urlParsingNode = document.createElement("a");
    var originURL;
    function resolveURL(url) {
        var href = url;
        if (msie) {
        urlParsingNode.setAttribute("href", href);
        href = urlParsingNode.href;
        }
        urlParsingNode.setAttribute("href", href);
        return {
        href: urlParsingNode.href,
        protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, "") : "",
        host: urlParsingNode.host,
        search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, "") : "",
        hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, "") : "",
        hostname: urlParsingNode.hostname,
        port: urlParsingNode.port,
        **pathname: "/" === urlParsingNode.pathname.charAt(0) ? urlParsingNode.pathname : "/" + urlParsingNode.pathname**
        };
    }
    originURL = resolveURL(window.location.href);
    return function isURLSameOrigin(requestURL) {
        var parsed = utils.isString(requestURL) ? resolveURL(requestURL) : requestURL;
        return parsed.protocol === originURL.protocol && parsed.host === originURL.host;
    };
    }() : function nonStandardBrowserEnv() {
    return function isURLSameOrigin() {
        return true;
    };
    }();
}, {
    "./../utils": 27
} ],

And the line where the pathname is declared, is breaking my project saying that “can’t find property charAt(0) of undefined”, causing a black screen. Removing this line for a debug project works, but I can’t do it for the release version.

What should I do? Is it a Cocos bug?

1 Like

It seems like a thrid library in your project. There’s no document support on native. Please check the library to ensure it could run in Android.

Sorry the delay to respond, my priority had change and I could only see this again now.

Yes, it was, I was using npm’s package Axios to handle connections and this code was there. Thanks for the highlight