Symfony4:Webpack Encore:在另一个js文件

时间:2017-12-18 11:54:03

标签: javascript symfony webpack

我无法弄清楚如何在Symfony中使用Webpack Encore管理多个js文件。 我知道我们可以在另一个js文件中调用js文件的函数和变量,只是不使用Webpack并按特定顺序放置脚本声明,但它不适用于webpack。如何配置?

1 个答案:

答案 0 :(得分:0)

在Symfony for JS中使用Encore的事情,它将它在函数中构建的文件包装起来,从而将它们从全局范围中隐藏起来。因此,如果使用Encore构建脚本,则无法直接从标记调用其函数和变量。

但是,您可以从使用Encore构建的自定义JS文件中调用其他文件/插件的功能,这只是首先要求它们在脚本中。

例如,我有一个名为toastr的插件,我想从我的脚本文件中调用它。该插件是作为Encore的供应商构建的,我的脚本被添加为一个简单的条目:

// webpack.config.js
// ...
Encore
    .createSharedEntry('vendor', [
        'toastr'
    ])
    .addEntry('myscript', './assets/js/myscript.js');

然后我可以请求' toastr'在我的自定义脚本中并使用其功能如下:

// assets/js/myscript.js
var toastr = require('toastr');

toastr.success('Hello!');

这个例子是供应商的一个插件,如果你需要两个自定义文件非常相似,你只需要自己的文件而不是供应商插件。