拖放区和Webpack Encore

3

我正在尝试在我的Symfony 4.1项目中集成dropzone,但是遇到了麻烦。

我通过npm将dropzone添加到我的项目中:npm install dropzone

assets/app.js中,我需要引入dropzone:

'use strict';

require('../css/app.css');

// create global $ and jQuery variables
import('jquery');

require('bootstrap');

require('@fortawesome/fontawesome-free/css/all.min.css');
require('@fortawesome/fontawesome-free/js/all.js');
require('dropzone/dist/min/dropzone.min.js');

require('./main.js');  // assets/js/main.js

main.js中,我只是尝试添加那个函数:
Dropzone.autoDiscover = false;

一旦我尝试为Dropzone进行一些配置,我的浏览器控制台就会发疯:未定义Dropzone。
我在想这里出了什么问题。
谢谢你的帮助!
1个回答

6

尝试执行以下代码:window.Dropzone = require('dropzone/dist/min/dropzone.min');

几个月前我也遇到过这个问题,如果我没记错的话,这段代码就是解决方法。

在我的情况下,我有一个dropzone.js文件,它需要require Dropzone css/js以及我的文件dropzone-upload.js。 然后在我的dropzone-upload.js中,我可以正常使用Dropzone.autoDiscover = false;

在我的webPack中,我为我的dropzone.js文件添加了一个addEntry

    ...
    //file upload with dropzone
    .addEntry('dropzone', './assets/js/dropzone.js')
    ...

先生 @Etshy... 非常感谢您!我只是在我的 main.js 中添加了 window.Dropzone = require('dropzone/dist/min/dropzone.min');,我再也没有问题了。我承认... 这些 Webpack-Encore 有时会让我感到困惑 :/ - user2711783

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接