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

How can I load css or js file in codeigniter 4?

当我尝试加载 css 或 javascript 文件时,出现 returns 404 错误。

我尝试使用助手,例如 HTML 助手的 link_tag、URL 助手的 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);
        }
    }

}

我的路由器:

$routes->get("/", "Pages::viewPage/index");

Header 在 HTML:

<?=link_tag('public/css/style.css')?>

assets 文件夹位于 htdocs 的根目录下(我正在使用 xampp apache 服务器)。

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

我是 CodeIgniter 的新手,所以如果能提供任何帮助,我们将不胜感激。

htdocs
  -public
    --CSS
     ---style.css
    --JS
     ---app.js
  -app
    --controllers
      ---Page.php
    --views
      ---pages
        ----index.php

* 我已经将我的 CSS、JS 文件路由从资产更改为 public *

试试这个

$config['base_url'] = "http://ur_site_url.com/";

比你的看法

<?php echo base_url('assets/css/style.css'); ?>

您是否在 application/config/config.php 文件中添加了 base_url? 这里:http://prntscr.com/pji8a5

您提供的站点 URL 未定义。

你已经给了http://localhost:8080/css.....

但应该http://localhost:8080/SITE_URL/css.....

如果加上$config['base_url'] = "http://site_url.com/";就可以直接给base_url('assets/css/style.css');

<link rel="stylesheet" href="<?php echo base_url('assets/css/style.css'); ?>">
<script src="<?php echo base_url('assets/js/js.css'); ?>"></script>

谢谢

由于应用程序是 public 文件夹的兄弟文件夹,

并且根据 codeIgniter 4。

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

所以应该像下面这样才能将 css 应用于视图。

在 views 文件夹中假设有一个文件 index.php

那么代码应该如下所示:

index.php

    <link rel="shortcut icon" type="image/png" href="/css/style.css"/>

GOTO config/App.php 并更改此变量

public $baseURL = 'http://yoursite';

然后您就可以访问它了

<?php echo base_url();?>

您还可以使用 html 帮助器并使用 link_tag 添加样式表 根据您的设置,如果您在 url 中隐藏 public 文件夹,则必须将 public 添加到 url.

<?php echo link_tag('public/css/style.css'); ?>