Symfony Webpack Encore:从Bundle导入.js

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Symfony Webpack Encore:从Bundle导入.js相关的知识,希望对你有一定的参考价值。

使用Symfony,我创建了一个包。此包在/vendor中正确导入。这个包有两个公共文件:

  • /MyBundle/Resources/Public/css/mybundle.scss
  • /MyBundle/Resources/Public/js/mybundle.js

如何使用Webpack Encore在我的主项目中导入这些文件?

目前我在做:

assets/js/app.js

import“../../vendor/gaylordp/mybundle/Resources/public/js/mybundle.js”;

assets/css/app.scss

@import“../../vendor/gaylordp/mybundle/Resources/public/css/mybundle.scss”;

但我认为这不是理想的解决方案......你有其他想法吗?

答案

在我看来,你有两个解决方案:

  1. 就像@hoover_D说的那样。在webpack.config.js中添加两个条目。 // for the js .addEntry('js/mybundle', './vendor/.../mybundle.js') // for the scss .addStyleEntry('css/mybundle', './vendor/.../css/mybundle.scss')
  2. 如果多个文件需要捆绑包的js代码,则可以使用createSharedEntry。文档是here// for the js .createSharedEntry('js/mybundle', './vendor/.../mybundle.js') // for the scss .addStyleEntry('css/mybundle', './vendor/.../css/mybundle.scss')
另一答案

你必须在你的webpack.config.js中添加一个条目。

.addEntry('isotop', './vendor.../js/isotop.js')

在终端中执行yarn run dev后刷新资产。

告诉我们它是否有效

以上是关于Symfony Webpack Encore:从Bundle导入.js的主要内容,如果未能解决你的问题,请参考以下文章

使用 TailwindCSS 和 Symfony Webpack Encore

Symfony 4 - Webpack-encore 使用 FosJsRouting :路由未定义

我无法通过 symfony/webpack-encore 使用 Jest 和 Vuejs 运行测试

如何在 Symfony 项目中使用 jQuery 和 webpack-encore?

Symfony 4 + Webpack encore - 未定义 Vue

TailwindCSS 3 + Symfony / webpack Encore 没有样式?