导入jQuery,Masonry& GatsbyJS的其他图书馆

时间:2018-03-21 19:19:06

标签: javascript jquery gatsby

即使在谷歌搜索之后,我也无法使用webpack管道在我的GatsbyJS项目中找到导入/包含jQuery,Masonry和其他一些基于jQuery的库的最佳方法。

我可以手动添加标签,但我的理解是使用导入是理想的,因此它可以进行流水线操作和打包。

import jQuery from '../js/jquery.min.js'
import '../js/flickr.js'
import '../js/flexslider.min.js'
import '../js/lightbox.min.js'
import '../js/masonry.min.js'

这总是会产生错误:

ReferenceError: jQuery is not defined

来自flickr.js& masonry..min.js library

1 个答案:

答案 0 :(得分:0)

您应该查看How to integrate React with other libraries上优秀的ReactJS文档。

我的想法是将<div />附加到空componentDidMount()并在class SomePlugin extends React.Component { componentDidMount() { this.$el = $(this.el); this.$el.somePlugin(); } componentWillUnmount() { this.$el.somePlugin('destroy'); } render() { return <div ref={el => this.el = el} />; } } 中引用它,您可以将其传递给jQuery插件。

来自react's doc的

代码:

 from sys import version_info
 if version_info >= (2, 6, 0):
     def swig_import_helper():
         from os.path import dirname
         import imp
         fp = None
         try:
             fp, pathname, description = imp.find_module('_Pack',      [dirname(__file__)])
         except ImportError:
             import _Pack
             return _Pack

         if fp is not None:
             try:
                 print ('_Pack', fp, pathname, description)
                 _mod = imp.load_module('_Pack', fp, pathname, description)
             finally:
                 fp.close()
             return _mod
     _Hydra = swig_import_helper()
     del swig_import_helper
 else:
     import _Hydra
 del version_info
 try:
     _swig_property = property
 except NameError:
     pass  # Python < 2.2 doesn't have 'property'.`