我正试图让我的webpack设置与isotope.js一起工作,我遇到的问题是,当webpack去编译时,它找不到窗口并抛出错误。我遇到的问题是,当webpack去编译时,它找不到一个窗口,并抛出一个错误。
我尝试了下面的方法。
在myfile.js中
import Isotope from 'isotope-layout';
webpack.config.js
loaders: [{
test: /isotope-layout/,
loader: 'imports?this=>window!isotope-layout'
}
但却出现了下面的错误。
/ipb/node_modules/lodash/index.js" as it exceeds the max of "100KB".
/Users/user/Development/ipb/node_modules/webpack/node_modules/webpack-core/lib/NormalModuleMixin.js:206
throw e;
^
ReferenceError: window is not defined
at Object.<anonymous> (/Users/user/Development/ipb/node_modules/isotope-layout/js/isotope.js:60:4)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at DependenciesBlock.loadPitch (/Users/user/Development/ipb/node_modules/webpack/node_modules/webpack-core/lib/NormalModuleMixin.js:193:17)
at DependenciesBlock.loadPitch (/Users/user/Development/ipb/node_modules/webpack/node_modules/webpack-core/lib/NormalModuleMixin.js:186:21)
at DependenciesBlock.loadPitch (/Users/user/Development/ipb/node_modules/webpack/node_modules/webpack-core/lib/NormalModuleMixin.js:223:61)
我到底做错了什么? 或者有什么更好的方法来完成这个任务?
试试。
var $ = require('jquery');
var jQueryBridget = require('jquery-bridget');
var Isotope = require('isotope-layout');
// make Isotope a jQuery plugin
jQueryBridget( 'isotope', Isotope, $ );
// now you can use $().isotope()
$('.grid').isotope({// options...});
试试下面的东西
var Isotope = require('imports?$=jquery!isotope-layout/dist/isotope.pkgd');
这对我来说似乎很有效。请注意,这个解决方案取决于 进口装载机;
你可以把这个问题推送到你的Webpack配置中,而不是在线解决。只是希望这个答案能给你指出正确的方向。