Javascript Webpack-仅将jquery作为特定包文件的插件包含
我正在使用RubyonRails6和Webpacker。在我的packs文件夹中,我有两个文件夹,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引用的代
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未定义
错误。树抖动
可以根据您的文件包含自动执行该操作。树抖动
可以根据您的文件包含自动执行该操作。