我正在尝试将uppy与webpacker一起使用,但是我无法让uppy正常工作:
// app/javascripts/src/javascript/my_scripts.js
const Uppy = require('@uppy/core')
const DragDrop = require('@uppy/drag-drop')
const ProgressBar = require('@uppy/progress-bar')
const uppyOne = new Uppy({debug: true, autoProceed: true})
uppyOne.use(DragDrop, { target: '.UppyDragDrop-One' })
这是我收到的控制台错误:
[Uppy] [23:29:46] Not installing DragDrop
Plugin.js:165 Uncaught Error: Invalid target option given to DragDrop. Please make sure that the element
exists on the page, or that the plugin you are targeting has been installed. Check that the <script> tag initializing Uppy
comes at the bottom of the page, before the closing </body> tag (see https://github.com/transloadit/uppy/issues/1042).
at DragDrop.mount (Plugin.js:165)
at DragDrop.install (index.js:204)
at Uppy.use (index.js:901)
at Object.<anonymous> (uppy.js:6)
at __webpack_require__ (bootstrap a698a4c3b9adcd1bf843:19)
at Object.<anonymous> (application.js:1)
at __webpack_require__ (bootstrap a698a4c3b9adcd1bf843:19)
at bootstrap a698a4c3b9adcd1bf843:62
at bootstrap a698a4c3b9adcd1bf843:62
答案 0 :(得分:0)
我发现问题是因为在rails中,您通常链接到布局文件开头的所有JS文件,但是尚未渲染类为'.UppyDragDrop'的元素。
要解决此问题,您需要在显示具有DragDrog元素的元素之后通过javascript_pack_tag单独链接到javascript。