未定义dropzone,在symfony上使用webpack

时间:2019-05-20 14:41:03

标签: javascript symfony webpack dropzone

我观看了有关该主题的各种对话,很抱歉要重做一个话题,但是我花了整整一天的时间,并且我不明白为什么未定义Dropzone。

在我的控制台中,讲话总是一样的... 未捕获的参考错误:未定义Dropzone

我在哪里错了?

<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 个答案:

答案 0 :(得分: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"
      });
  });