首页 > 解决方案 > 如何从 PHP 之类的东西在 webpack 进程中导入文件

问题描述

所以Webpack是用来打包东西的。它似乎有很多用例,但我是新手,所以我可能会遗漏一些东西或不正确地使用它。

目前它可能主要用于捆绑 JS 和 CSS,并可能使用file-loaderurl-loader处理图像。

它似乎也以级联方式捆绑并执行其插件内容。这意味着导入中的导入将被评估,因此我看到一个存储在CSS文件中的图像:

background-image: url(../images/banner.jpg);

将通过处理.jpg文件的加载程序并移动到dist文件夹以及CSS将根据此更新相关路径。我不确定webpack的哪个部分管理它,也许是css-loader确保了这一点?

问题出现了,因为我目前正在开发一个使用PHP模板的WP主题。我从来没有通过Webpack管道。PHP加载器似乎是关于转换为HTML,这并不好。

因此,如果我<img src="images/brand.jpg">在模板中有一个标签,我将不得不手动导入该图像,并确保我拥有指向当前不存在的捆绑包的正确路径。例如,我也可以忘记使用url-loadersvg-loader内联图像。

这只是一个(目前)不存在的Webpack用例吗,因为大多数用户都在用它做ReactVue项目。

还是我错过了一些明显的东西?

标签: phpwordpresswebpackwebpack-file-loader

解决方案


如果您仍然在寻找该问题的答案 - 您可以使用 Webpack 清单插件(和 [可选] 使用 Webpack 复制插件)和一些 php 处理程序来解析清单。

我有一个工作版本,你可以在这里看到 https://github.com/LowGravityPL/RaccoonWP/tree/master/public/core/themes/raccoon-twig

Webpack 代码在build-utils目录中


推荐阅读