我想不出如何在Symfony中使用Webpack Encore来管理多个js文件。我知道我们可以在另一个js文件中调用js文件的函数和变量,简单地不需要使用webpack,也不需要将脚本标签的声明按一定的顺序放在一起,但这在Webpack身上不起作用。如何配置?
发布于 2018-03-21 22:32:44
在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!');这个例子是一个供应商插件,如果你需要两个自定义文件,它将非常相似,你只需要你自己的文件,而不是一个供应商插件。
https://stackoverflow.com/questions/47867961
复制相似问题