Isotope.js和Webpack -可能吗?

yrefmtwq  于 2023-03-30  发布在  Webpack
关注(0)|答案(3)|浏览(187)

我试图让我的webpack设置与isotope.js一起工作。我遇到的问题是,当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)

我在这里做错了什么,或者有什么更好的方法来完成这件事?

jgovgodb

jgovgodb1#

试试看:

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...});
2guxujil

2guxujil2#

试着做点什么

var Isotope = require('imports?$=jquery!isotope-layout/dist/isotope.pkgd');

注意这个解决方案依赖于imports-loader;
你可以把这个问题推到你的Webpack配置中,而不是在线解决它。只是希望这个答案能为你指明正确的方向。

emeijp43

emeijp433#

2023更新

@metafizzy,它的3年没有更新同位素。它属于废弃项目。我不知道。只是我的意见。但是,我觉得这是一个伟大的项目,应该得到支持。如果你想使用我这样做,你可以导入它作为模块加载程序,即在webpack如下:

Install
# yarn add isotope-layout

// main.js
var Isotope = require('isotope-layout');
var iso = new Isotope( '.grid', {
  // options...
});

阅读更多文档:https://isotope.metafizzy.co/extras.html#webpack如果您遇到以下错误:cannot find module globby/index.js,重新启动应用程序并运行yarn install,然后运行yarn add isotope-layout

相关问题