javascript - 导入 Bootstrap JavaScript、Webpack

标签 javascript jquery twitter-bootstrap webpack gulp

我试图从 Bootstrap JS 组件中仅导入折叠组件,如下所示:

import "../../../node_modules/bootstrap/js/dist/collapse";

除了 jQuery 之外一切都很好,这个文件 (collapse.js) 需要 jquery 并且它被编译到我的 main.js 文件中,如何避免这种情况?我已包含来自 CDN 的 jQuery。

这是我的 Gulp/Webpack 配置

let webpackConfig = {
  module: {
    rules: [
      {
        test: /.js$/,
        use: [
          {
            loader: 'babel-loader'
          }
        ]
      }
    ]
  }
};
// Combine JavaScript into one file
// In production, the file is minified
function javascript() {
  return gulp.src(PATHS.entries)
    .pipe(named())
    .pipe($.sourcemaps.init())
    .pipe(webpackStream(webpackConfig, webpack2))
    .pipe($.if(PRODUCTION, $.uglify()
      .on('error', e => { console.log(e); })
    ))
    .pipe($.if(!PRODUCTION, $.sourcemaps.write()))
    .pipe(gulp.dest(PATHS.dist + '/assets/js'));
}

更新,解决方案:

let webpackConfig = {
  externals: { jquery: 'jQuery' },
  module: {
    rules: [
      {
        test: /.js$/,
        use: [
          {
            loader: 'babel-loader'
          }
        ]
      }
    ]
  }
};

最佳答案

您可以使用externals settings从 Webpack 中阻止它将某些包包含到您的包中。

关于javascript - 导入 Bootstrap JavaScript、Webpack,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51597727/

相关文章:

javascript - 如何在文档就绪功能中使用 jQuery 动态隐藏 Bootstrap 3.3.4 中的下拉菜单?

javascript - 将 insertAfter 更改为 .animate

javascript - 在站点加载时运行 javascript

javascript - 使用 codeigniter 数据不会插入数据库

javascript - 通过 Ajax 正确重新加载 div - 脚本消失

jquery - 将计数器移动到进度条 Bootstrap 3 的下方和右侧

javascript - 在客户端 JavaScript 中创建 TCP/IP 套接字

javascript - AngularJS 选项卡集中的 Chart.js 不呈现

javascript - 如何在 ace 中向 mode-xml.js 添加新的突出显示规则?

javascript - 阻止自定义数据表搜索框失去焦点