加载和使用NPM Modernizr v3.x包时出现问题

时间:2016-09-27 04:15:38

标签: javascript angularjs modernizr

我已将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做错了什么?

0 个答案:

没有答案