可能有一些文档说明如何处理这种情况,但我甚至不知道如何查找。
事情是这样的,我们有一个Symfony模块。(Bundle除外)我们在多个项目中共享的公司产品。但是它没有在packagist上列出,如果需要的话,我们需要它与本地编写器存储库路径。
在共享模块中,我们需要包含一些css和一些js。由于其中一个共享模块(或bundle,你想怎么称呼它)有bootstrap (css前端工具包),模块本身需要它和它的css一起使用。
在共享模块中,我们有一个JS文件" corelilibrary .js"然后像这样导入所需的js:
import $ from 'jquery';
import 'bootstrap';
export class CoreLibrary {
... more code
}
然后,在主应用程序中,我们从app.js文件中包含通用js文件,如下所示:
import { CoreLibrary } from '../public/bundles/thebundlename/js/CoreLibrary';
这似乎不太理想,除此之外,在encore中我们必须重复
import $ from 'jquery';
import 'bootstrap';
import { CoreLibrary } from '../public/bundles/thebundlename/js/CoreLibrary';
在我们需要的每个。js文件中。这是一个很大的负担,我无法相信没有更好的方法来做到这一点。
旁注:不久之前,我甚至不得不遵循这个:在Symfony 4.1项目的Yarn和Webpack Encore配置中,因为在"Yarn watch"期间出现错误。
公司共享模块需要第三方库,如bootstrap,正确的方法是什么?
对于全局jquery,我在主js文件中有这个
const $ = require('jquery');
global.$ = global.jQuery = $;
也是webpack配置中关于jquery的未注释行。