使用 config-all.json 生成 modernizr.js 时出错

Error in generated modernizr.js with config-all.json

我有一个无法解决的问题:

modernizr.js:6870
Uncaught TypeError: Cannot read property 'removeChild' of null
    at Object.fn (modernizr.js:6870)
    at testRunner (modernizr.js:144)
    at modernizr.js:10156
    at modernizr.js:10175

我不知道它是否阻止了 modernizr 的良好行为,我仍然无法弄清楚它为什么会发生。

有关更多详细信息,modernizr.js 中的函数是这个:

Modernizr.addTest('localizednumber', function() {
    /* this extends our testing of input[type=number], so bomb out if that's missing */
    if (!Modernizr.inputtypes.number) { return false; }
    /* we rely on checkValidity later, so bomb out early if we don't have it */
    if (!Modernizr.formvalidation) { return false; }

    var body = getBody();
    var div = createElement('div');
    var firstChild = body.firstElementChild || body.firstChild;
    var result;

    body.insertBefore(div, firstChild);

    div.innerHTML = '<input type="number" value="1.0" step="0.1"/>';
    var input = div.childNodes[0];
    body.appendChild(div);

    input.focus();
    try {
      document.execCommand('SelectAll', false); // Overwrite current input value, rather than appending text
      document.execCommand('InsertText', false, '1,1');
    } catch (e) {} // prevent warnings in IE

    /* results */
    result = input.type === 'number' && input.valueAsNumber === 1.1 && input.checkValidity();

    /* cleanup */
    body.removeChild(div);
    if (body.fake) {
      body.parentNode.removeChild(body); // <==== ERROR HAPPENS HERE
    }

    return result;
  });

我在页面的正文末尾添加了 modernizr.js(在任何其他脚本之前)并且错误不再发生,因为 Modernizr 不使用假正文来 运行 他的测试。

但我认为在其中包含 Modernizr 是不好的做法,这就是为什么我首先将文件包含在 head 标记的末尾,有任何解释吗?