【问题标题】:importing 3rd party library with webpack that uses jQuery and Bootstrap使用使用 jQuery 和 Bootstrap 的 webpack 导入 3rd 方库
【发布时间】:2018-02-02 20:35:12
【问题描述】:

我正在尝试将第 3 方主题/模板导入我的 ReactJS 项目,该项目有一些我需要的 css 和 js 代码。我能够轻松拉出样式,但不能拉出 js。

这是我的 webpack 插件配置的样子:

new webpack.ProvidePlugin({
          $: "jquery",
          jQuery: "jquery",
          jquery: 'jquery'
      })

这是我的index.js

import 'jquery';
import 'bootstrap/dist/js/bootstrap.bundle.js'

import './vendor/js/custom.min.js'; << this is what doesn't work

如您所知,第 3 方位于 vendor 目录中。当它尝试导入custom.min.js 时,出现以下错误:

Line 1:  '$' is not defined       no-undef
Line 1:  'jQuery' is not defined  no-undef

请让我知道是否应该包含任何其他详细信息。

【问题讨论】:

  • 你用npm install jquery正确安装了jquery?
  • 是的,我有@PhillipThomas

标签: javascript reactjs webpack


【解决方案1】:

您需要通过如下方式导入 $jQuery 作为对 jQuery 的引用:

globals.js

import {$,jQuery} from 'jquery';
window.$ = $;
window.jQuery = jQuery;

app.js

import './globals.js';
import 'custom.min.js';

这应该强制执行导入顺序并允许窗口附加 jQuery。

【讨论】:

  • 后来的导入怎么样?写入window.$ = $;window.jQuery = jQuery;后无法导入
  • 啊,custom.min.js 不是用 ES6 写的吗? (它没有 jQuery 的导入并且需要它们在全局空间中吗?)
  • 是的,它不是用 ES6 编写的。对第二个问题也是这样
  • 我见过的最接近的是在包含库之前将其作为单独的文件执行。我会这样更新答案。
  • 嗯,我试过./globals.js方法后还是一样。进口订单错误
猜你喜欢
  • 1970-01-01
  • 2018-05-27
  • 1970-01-01
  • 2021-10-12
  • 2016-09-26
  • 2020-06-15
  • 2016-03-22
  • 2017-06-11
  • 2017-02-13
相关资源
最近更新 更多