要求Modernizr使用Webpack

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了要求Modernizr使用Webpack相关的知识,希望对你有一定的参考价值。

尝试在grunt中使用WebPack来获取我所有的javascript,css和其他东西构建并放在适当的位置。在我的Gruntfile.js中的一个模块中包含的一个javascript文件中使用require('modernizer')时遇到以下问题。错误如下:

Fatal error: EMFILE, too many open files ../about/node_modules/modernizr/node_modules/file/lib/file.js'

当我使用ulimit增加要使用的文件数时,会出现其他错误。在我的package.json中,我有以下内容:

"dependencies": {
"jquery": "^2.1.1",
"jquery-ui": "^1.10.5",
"modernizr": "^2.8.3"    

}

有没有办法使用包中的Modernizer来包含它模块而不在页面上使用此指令:

 <script type="text/javascript" src="{portal:createUrl('/_public/about/js/modernizr/modernizr.custom.flexbox.js')}"></script>

?

提前致谢!

答案

首先,只是标记你应该调用require('modernizr')而不是require('modernizer')

其次,回答你的问题“有没有办法使用Modernizr from pack来包含它模块而不在页面上使用这个指令?

就在这里。这是script-loader。它基本上允许您需要一个库,并像执行<script>标记一样执行它。您可以通过以下方式使用它:

更新2017-12-27

require('script-loader');
require('script-loader!modernizr');

先前

require('script-loader');
require('script!modernizr');

请记住通过在命令行中调用script-loader来提前安装npm install script-loader --save

以上是关于要求Modernizr使用Webpack的主要内容,如果未能解决你的问题,请参考以下文章

使用 Javascript(并且没有modernizr)检测 CSS 转换?

HTML5中Modernizr类库是做啥用的?具体怎么使用?

是否有任何 javascript 代码(polyfill)可以启用 Flexbox(2012,css3),例如modernizr?

webpack4常用片段

Modernizr的requireJS配置

Modernizr.js介绍与使用