美文网首页
ThinkPHP 5.x content-type 设置 css

ThinkPHP 5.x content-type 设置 css

作者: 喷射的熔浆 | 来源:发表于2017-08-30 04:28 被阅读0次

    content-type 定义了浏览器把获取的文件当什么运行,例如一个javascript文件,设置为text/html就不给运行了,必须在Response Header中指定正确兼容的才能被运行。

    例如,我的多个css文件都是PHP动态生成的,如果直接

    ... # in a method of a class extending think\Controller
    return $this->fetch("/style/$name.css",[
       'color' => 'rgb(252,255,2)',
       'border-radius' => '.34rem'
       'width' => 750px',
       'bg_img' => 'http://website.com/favicon.ico'
    ]);
    ...
    

    可以设置config.php中为css,但是所有的html文件都会被识别为css,所以不能动配置文件中的

    solution

    不使用默认的response配置,而是动态更新一些配置,如下

    $content = $this->view->fetch("/style/$name.css", [
       'color' => 'rgb(252,255,2)',
       'border-radius' => '.34rem'
       'width' => 750px',
       'bg_img' => 'http://website.com/favicon.ico'
    ]);
    # fetch 后传给 Response 作为输出内容,不直接 return
    $res = new Response;
    $res->content($content)->contentType('text/css')->send();
    

    solution 2

    可以使用less,scss,sass等来预处理呀,but ....

    Reference

    相关文章

      网友评论

          本文标题:ThinkPHP 5.x content-type 设置 css

          本文链接:https://www.haomeiwen.com/subject/ylkzdxtx.html