开发学院

您的位置:首页>技术文章>正文

技术文章

CodeIgniter4如何加载css和js文件?

开发学院2022-04-08 17:02:11
在CodeIgniter4项目中我试图加载css和javascript文件时,它返回404错误。我尝试过使用助手函数,如HTML Hleper的link_tag,URL Helper的base_url方法,它会创建到文件的路径,但依然无法加载。

  在CodeIgniter 4项目中我试图加载css和javascript文件时,它返回404错误。

  我尝试过使用助手函数,如HTML Hleper的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);
        }
    }
}

  我的路文件配置i:

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

HTML中的header部分:

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

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

  当我试图加载CSS或JS时,我得到了404错误:

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

  我的项目目录结构:

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

  *我已将我的CSS、JS文件路径从资产更改到public*

解决方案

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

  在CodeIgniter 4项目中,你放在public文件夹里的任何东西都可以被直接访问。

  因此,它应该是类似下面的东西,让css应用到视图。

  在视图文件夹中,假设有一个名为index.php的文件

  那么代码应该如下所示:

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