Dropzone 没有定义,symfony 上有 webpack

Posted

技术标签:

【中文标题】Dropzone 没有定义,symfony 上有 webpack【英文标题】:Dropzone is not defined, with webpack on symfony 【发布时间】:2019-10-06 23:03:03 【问题描述】:

我看了关于这个主题的各种对话,抱歉重做一个主题但是我找了一整天,我不明白为什么没有定义 Dropzone。

在我的控制台中总是相同的语音... Uncaught ReferenceError: Dropzone is not defined

我哪里错了?

<div action="path('document_create')" class="dropzone">
       <div class="fallback">
               form_widget(form.file, 
                  'attr': 'type': 'file', 'name': 'file'
              ) 
       </div>
</div>

JS:

Dropzone.autoDiscover = false;

                $(function() 
                    //Dropzone class
                    var myDropzone = new Dropzone(".dropzone", 
                        url: "upload.php",
                        paramName: "file",
                        maxFilesize: 2,
                        maxFiles: 10,
                        acceptedFiles: "image/*,application/pdf"
                    );

                    $('#startUpload').click(function()           
                        myDropzone.processQueue();
                    );
                );

【问题讨论】:

【参考方案1】:

我在symfony和webpack的战斗之后发布我刚刚找到的解决方案!

诀窍:(适用于 Symfony 和 webpack)

1 / 安装 dropzone

2 / 将文件 dropzone.js 或 dropzone.min.js 留在 node_modules 中,不要碰它们。

3 / 创建一个 file.js,例如:myDropzone.js

4 / 在 myDropzone.js 中调用 Dropzone:

window.Dropzone = require('dropzone/dist/min/dropzone.min');

5 / 以及根据您选择的 dropzone 配置代码:

Dropzone.autoDiscover = false;

  $(function() 
      //Dropzone class
        $('.dropzone').dropzone(
          paramName: "file",
          maxFilesize: 2,
          maxFiles: 2,
          addRemoveLinks: true,
          acceptedFiles: "image/*,application/pdf"
      );
  );

【讨论】:

以上是关于Dropzone 没有定义,symfony 上有 webpack的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法对 dropzone.js 实例中的预览元素进行拖放重新排序?

Dropzone和非对象错误

如何将图像预加载到 dropzone.js

我尝试使用 Symfony 创建自定义查询构建器

Dropzone.js拖拽上传(简单示例)

在每个文件上传时使用 dropzone.js 发送自定义数据