可能有一些关于如何处理这种情况的文档,但我什至不知道如何查找它。
事情是这样的,我们有一个 Symfony“模块”(前 Bundle)公司制作的,我们在多个项目中共享。 Atm 它没有在 packagist 上列出,如果重要的话,我们需要将它与本地 Composer 存储库路径一起使用。
在共享模块中,我们有一些 css 和一些 js 需要包含在内。由于这些共享模块(或 bundle ,w/e,你想调用它)之一具有 bootstrap(css 前端工具包),因此模块本身需要它和他的 css。
在共享模块中,我们有一个 JS 文件“CoreLibrary.js”,我们像这样导入所需的 js:
import $ from 'jquery';
import 'bootstrap';
export class CoreLibrary {
... more code
}
然后,在主应用程序中,我们包含 app.js 文件中的公共(public) js 文件,如下所示:
import { CoreLibrary } from '../public/bundles/thebundlename/js/CoreLibrary';
这似乎并不理想,除此之外,我们必须重复安可
import $ from 'jquery';
import 'bootstrap';
import { CoreLibrary } from '../public/bundles/thebundlename/js/CoreLibrary';
在我们需要的每个 .js 文件中。这是一个很大的负担,我不敢相信没有更好的方法来做到这一点。
旁注:不久前我什至必须遵循这个: Yarn and Webpack Encore configuration in Symfony 4.1 project因为我在“yarn watch”期间遇到错误。
使用需要第三方库(如 bootstrap)的公司共享模块执行此操作的正确方法是什么?
最佳答案
对于全局 jquery,我在主 js 文件中有这个
const $ = require('jquery');
global.$ = global.jQuery = $;
还在 webpack 配置中取消注释有关 jquery 的行。
关于javascript - Symfony Webpack Encore 与公司公共(public) bundle ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72660534/