如何在 codeigniter 4 中加载 css 或 js 文件?

YJM*_*YJM 3 php codeigniter codeigniter-4

当我尝试加载 css 或 javascript 文件时,它返回 404 错误。

我尝试使用诸如 HTML helper 的 link_tag、URL helper 的 base_url 方法之类的帮助程序,它会生成指向文件的路由,但无法加载。

这是我的控制器:

class Pages extends Controller{

    public function viewPage($page)
    {
        if(!is_file(APPPATH."/views/pages/$page.php")){
            throw new \CodeIgniter\Exceptions\PageNotFoundException($page);
        }

        helper('html');

        $data['title'] = $page == 'noticeboard' ? "page1" : "page2";

        if($page != "index"){
            echo view('templates/header', $data);
        }

        echo view("pages/$page", $data);

        if($page != "index"){
            echo view("templates/footer", $data);
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

我的路由器:

$routes->get("/", "Pages::viewPage/index");
Run Code Online (Sandbox Code Playgroud)

HTML 中的标题:

<?=link_tag('public/css/style.css')?>
Run Code Online (Sandbox Code Playgroud)

资产文件夹位于 htdocs 的根目录中(我使用的是 xampp apache 服务器)。

当我尝试加载 CSS 或 JS 时,出现此错误:

错误信息

我对 CodeIgniter 完全陌生,所以任何帮助都将不胜感激。

  • 目录结构:
文档
  -民众
    --CSS
     ---style.css
    --JS
     ---app.js
  -应用程序
    --控制器
      ---页面.php
    --视图
      ---页面
        ----index.php

* 我已将 CSS、JS 文件路由从资产更改为公共 *

小智 7

由于 app 是 public 文件夹的同级文件夹,

并根据 codeIgniter 4 。

您放在公共文件夹中的任何内容都可以直接访问。

所以它应该类似于下面的内容来将 css 应用于视图。

在视图文件夹中可以说有一个文件 index.php

那么代码应该如下所示:

索引.php

    <link rel="shortcut icon" type="image/png" href="/css/style.css"/>
Run Code Online (Sandbox Code Playgroud)