Javascript Webpack-仅将jquery作为特定包文件的插件包含

Javascript Webpack-仅将jquery作为特定包文件的插件包含,javascript,ruby-on-rails,webpack,ruby-on-rails-6,webpacker,Javascript,Ruby On Rails,Webpack,Ruby On Rails 6,Webpacker,我正在使用RubyonRails6和Webpacker。在我的packs文件夹中,我有两个文件夹,frontend和admin。每个文件夹都包含一个application.js文件,因此每个文件夹显示为javascript/packs/frontend/application.js和javascript/packs/admin/application.js 在我的特定版面的application.html.erb文件中,我根据版面(前端或管理员)加载或。我最近从frontend`pack引用的代

我正在使用RubyonRails6和Webpacker。在我的packs文件夹中,我有两个文件夹,
frontend
admin
。每个文件夹都包含一个
application.js
文件,因此每个文件夹显示为
javascript/packs/frontend/application.js
javascript/packs/admin/application.js

在我的特定版面的
application.html.erb
文件中,我根据版面(前端或管理员)加载
。我最近从
frontend`pack引用的代码中删除了所有jQuery代码。但是,我无法成功地从前端删除jQuery本身;我仍然需要jQuery作为管理包

在我的
config/webpack/environment.js文件中,我有以下内容:

const { environment } = require('@rails/webpacker')

const webpack = require('webpack')

environment.plugins.append('Provide', new webpack.ProvidePlugin({
  Rails: ["@rails/ujs"],
  $: 'jquery',
  jQuery: 'jquery'
}))

module.exports = environment

这是将jQuery加载到我所有包中的代码,但我不知道如何强制将jQuery加载到管理包中。

config/webpack/environment.js中删除jQuery部分:

environment.plugins.append('Provide', new webpack.ProvidePlugin({
  Rails: ["@rails/ujs"],
  $: 'jquery',
  jQuery: 'jquery'
}))
// Require jQuery
global.$ = require("jquery")
并要求在需要jQuery的包中手动执行jQuery(例如,
app/javascript/packs/admin.js
):


您需要将调用
jQuery
的实例调整为
$
,否则会得到
未捕获的引用错误:jQuery未定义
错误。

配置/webpack/environment.js
中删除jQuery部分:

environment.plugins.append('Provide', new webpack.ProvidePlugin({
  Rails: ["@rails/ujs"],
  $: 'jquery',
  jQuery: 'jquery'
}))
// Require jQuery
global.$ = require("jquery")
并要求在需要jQuery的包中手动执行jQuery(例如,
app/javascript/packs/admin.js
):


您需要将调用
jQuery
的实例调整为
$
,否则,您将得到
未捕获引用错误:jQuery未定义
错误。

树抖动
可以根据您的文件包含自动执行该操作。
树抖动
可以根据您的文件包含自动执行该操作。