如何从 manifest.json 链接一些东西

Rob*_*ert 4 html php json webpack

我将 Webpack 与 CleanWebpackPlugin 一起使用,但我使用的是 index.php。所以 HtmlWebpackPlugin 不是一个选项。我发现了一个名为 WebpackManifestPlugin 的不同插件。这将创建一个包含文件及其哈希值的文件,名为 manifest.json。它看起来像这样:

{ "main.js": "css.d915ef.js", "main.css": "main.d915ef.css" }

但是我如何在我的脑海中使用它?

<link rel="stylesheet" type="text/css" href="dist/main.css">

因为这行不通。

小智 6

在 php 脚本中使用该函数

function asset($asset_name)
{
    $manifest = file_get_contents("./manifest.json");
    $manifest = json_decode($manifest, true); //decode json string to php associative array
    if (!isset($manifest[$asset_name])) return $asset_name; //if manifest.json doesn't contain $asset_name then return $asset_name itself
    return "/dist/" . $manifest[$asset_name];
}
Run Code Online (Sandbox Code Playgroud)

它将读取和解析manifest.json并替换"main.js""css.d915ef.js" 您可以asset()在生成 html 时使用函数,如下所示:

<link rel="stylesheet" type="text/css" href="<?php echo asset("main.js"); ?>">
Run Code Online (Sandbox Code Playgroud)

请注意,file_get_contents("./manifest.json")只有当您的 php 脚本manifest.json位于同一文件夹中时,它才能正常工作。如果没有 - 您需要提供正确的路径manifest.json