如何使用语义 UI 与 webpack react?

IT技术 jquery reactjs commonjs semantic-ui
2021-04-28 19:23:55

我想使用 CommonJS 在我的 react jsx 文件中包含语义 UI。我用 bower 安装了 Semantic-ui,并且 webpack 被正确配置为包含 bower_components 目录。

但是,当我require('semantic-ui/dist/semantic-ui.js')在 jsx 文件中使用时 ,控制台总是抛出错误“Uncaught ReferenceError: jQuery is not defined”,即使我var jQuery = require('jquery/dist/jquery.js')在此之前放了一条语句

另一个相关的事情是,为了让semantic-ui 工作,semantic.css 也应该被包含在内。我也想知道如何在 jsx 文件中包含semantic.css。

2个回答

像这样尝试提供插件

  plugins: [
    new ProvidePlugin({
      'jQuery': 'jquery'
    })
  ],

至于 CSS,您需要在获取 JS 之前将其加载到 index/whatever.html 文件中。

在您需要语义 UI 之前尝试以下操作:

var $ = jQuery = require('jquery/dist/jquery.js');
window.jQuery = $; // Assure it's available globally.
var s = require('semantic-ui/dist/semantic-ui.js');

不是 100% 确定这会起作用,但值得一试。

使用 CommonJS module可能会变得棘手。此外,可能值得研究 React+Browserify。使用require.