ruby-on-rails - 如何使用 webpacker/Rails 要求 select2?
问题描述
我一直在通过 CDN 使用 select2。我开始将 CDN 迁移到使用 webpacker gem。我偶然发现了一个困难,我无法导入/要求或以任何方式包含它。所以这是我的设置:
我已通过以下步骤迁移了 select2:
- 纱线添加选择2
下面是我的 environment.js 文件(这是 webpacker 用来配置 webpack 的配置文件):
const { environment } = require('@rails/webpacker')
const webpack = require('webpack')
environment.plugins.append(
'Provide',
new webpack.ProvidePlugin({
$: 'jquery/src/jquery',
jQuery: 'jquery/src/jquery',
Popper: ['popper.js', 'default']
})
)
module.exports = environment
环境.js
require("select2")
我尝试了各种要求和许多其他要求,但这些似乎都不起作用。请指教。谢谢你。
解决方案
这是我要检查的内容:
根据项目自述文件,在 Rails 项目中正确安装 Webpacker。如果您从 Rails 6 应用程序开始,这将默认完成。
同时添加
jquery
和select2
:yarn add jquery select2
向 DOM 添加一个选择框
<select class="js-states" name="state"> <option value="AL">Alabama</option> ... <option value="WY">Wyoming</option> </select>
导入 jquery、select2 和 select2 css 并在页面加载时应用于选择框:
import $ from 'jquery' import 'select2' import 'select2/dist/css/select2.css' window.addEventListener('DOMContentLoaded', () => { $('.js-states').select2() })
为了开发,设置
compile: true
在config/webpacker.yml
. 运行webpack-dev-server
是可选的。
这些是我创建此演示所采取的步骤:https ://github.com/rossta/rails6-webpacker-demo/compare/example/select2
推荐阅读
- amazon-web-services - AWS CloudFront 无法指向特定的 url 子页面
- javascript - 在 reducer 中更新搜索功能的状态
- rest - ORDS 18.4 为什么我得到一个空的 :body_text (CLOB)?
- java - 将 Firebase 应用与 Google 登录一起使用时,如何使用我的 Google Cloud Function 进行身份验证?
- debugging - 在 Vis.Code 中设置调试配置以附加到 gdbserver 时出现问题
- html - 为什么内联块之间会出现垂直和水平间隙?
- javascript - 在 Javascript 中的 img 中显示来自 Java Servlet 的 BinaryStream
- python - Python Google Analytics 活跃用户列表
- excel - 解压后下载压缩的 csv 文件
- mysql - Sequelize 迁移失败并显示 errno:150“外键约束格式不正确”