我已将NPM
版本3.3.1的modernizr
软件包下载到我的Angular1
应用中并正确引用。但是在运行时我收到以下错误:
"Uncaught ReferenceError: define is not defined" modernizr.js:1
所以我想也许我需要require.js
,如此处所示(https://stackoverflow.com/a/36986916/410937),但这并没有解决问题。
之前我从modernizr
安装了NuGet
版本2.8.3。我知道版本不同,但.js
文件也是如此。以下是我部署的node_modules
目录中的新3.3.1版本:
define(['ModernizrProto'], function(ModernizrProto) {
// Fake some of Object.create so we can force non test results to be non "own" properties.
var Modernizr = function() {};
Modernizr.prototype = ModernizrProto;
// Leak modernizr globally when you `require` it rather than force it here.
// Overwrite name so constructor name is nicer :D
Modernizr = new Modernizr();
return Modernizr;
});
我使用的modernizr.js
的2.8.3版本是巨大的 .js
文件(~1400行),其中显然包含所有功能。以下是提出想法的前几行:
window.Modernizr = (function( window, document, undefined ) {
var version = '2.8.3',
Modernizr = {},
/*>>cssclasses*/
// option for enabling the HTML classes to be added
enableClasses = true,
/*>>cssclasses*/
docElement = document.documentElement,
显然,我在这里遗漏了一些关于js
如何工作或如何在v3.x中正确加载它的关键modernizr
部分。我对modernizr
做错了什么?