修复 Uncaught syntax error uncaught syntax error unexpected token < in electron

Fix Uncaught syntax error unexpected token < in electron

我正在测试一个将 php 用于某些业务逻辑的电子应用程序。如果我 运行 我的 MAMP 堆栈中的应用程序都将正常工作,但如果我 运行 使用电子的应用程序,我将收到一个 uncaught syntax error unexpected token < 引用 <!DOCTYPE html>我的模板文件。我在 SO 上读到了这个与我的 js 和 css 文件的路径相关的问题,但我不知道如何解决它,这是因为路径是正确的。我有一个 header.php 文件,其中包含所有 <head> 代码,所有模板文件都需要它,问题是由此引起的吗?

header.php 文件:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="stylesheet" href="assets/css/bootstrap.min.css" type="text/css">
<link rel="stylesheet" href="assets/css/fontawesome-all.min.css" type="text/css">

<script type="text/javascript" src="assets/js/jquery.min.js"></script>
<script type="text/javascript" src="assets/js/bootstrap.bundle.min.js"></script>
</head>
<body>

dashboard.php 模板文件:

<?php
require_once 'header.php';
?>
<div class="container">
  <div class="row justify-content-center">

    <div class="col-lg-4">
      <div class="card">
        <div class="card-img-top text-center">
          <i class="fas fa-plus fa-2x"></i>
        </div>
        <a class="btn btn-link" href="add"><h4 class="text-uppercase">add info</h4></a>
      </div>
    </div>

    <div class="col-lg-4">
      <div class="card">
        <div class="card-img-top text-center">
          <i class="fas fa-search fa-2x"></i>
        </div>
      <a class="btn btn-link" href="search"><h4 class="text-uppercase">search info</h4></a>
      </div>
    </div>

  </div>
</div>

</body>
</html>

您的 header.php 文件是 HTML 文档。由于您需要它,它将被解释为 PHP,这会导致语法错误。

要么创建一个有效的 PHP 头文件,要么打印 header.php 文件中的内容。我不推荐后者。

一个简单的解决方案是:

  1. 将您的 header.php 重命名为 header.tpl(与模板中的.tpl)
  2. 改变你dashboard.php
<?php
print file_get_contents('header.tpl'); 
?>
...