Modernizr测试不适用于自定义构建

时间:2018-02-06 20:22:23

标签: javascript node.js webpack modernizr

问题

我目前在使用Modernizr时遇到一个非常奇怪的问题...我已将自己的modernizr构建编译为/node_modules/modernizr/modernizr.js,我将其加载到我的应用程序中(使用webpack编译):

window.Modernizr = require('modernizr/modernizr.js');

if (!Modernizr.flexbox || !Modernizr.srcset) {
    console.log("A'rite, you seem to be living in the dark ages...");
}

出于某种原因,Modernizr在这两个测试中都返回undefined,因此失败了。但是,在您说我编译错误之前, 正确地将类添加到<htmll>,因此我可以确认javascript文件正确运行(在某种程度上)

到底是怎么回事?我错过了一些非常明显的东西吗?

我在几个月前建立的另一个网站上工作了所以我看了那里的代码,唯一的区别是我在package.json中有'modernizr-loader'依赖,而我正在使用{{1相反,但据我所知,我甚至没有使用modernizr-loaded ...

我试过......

我认为可能是在DOM准备好之前运行它所以我运行了以下内容并且它们都失败了:

import Modernizr...

为了证明它与DOM无关,我还尝试了以下 运行测试之前:

// All of the following failed!

setTimeout(function() {
    if (!Modernizr.flexbox || !Modernizr.srcset) {
        console.log("A'rite, you seem to be living in the dark ages...");
    }
}, 5000);

$('document').ready(function() {
    // The same...
});

这返回:

console.log($('html').attr('class'));

更新

要为问题添加一点混合,以下工作:

js flexbox flexboxlegacy no-flexboxtweener flexwrap srcset

究竟是怎么回事......上面的工作由于某种原因,但其他方法没有。我一定错过了什么

0 个答案:

没有答案