我目前在使用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
究竟是怎么回事......上面的工作由于某种原因,但其他方法没有。我一定错过了什么