微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ColdFusion cfstatic包含所有CSS文件

我正在尝试使用 cfstatic.在我的index.cfm中,我只使用cfstatic添加green.css,cfstatic应该只添加green.css的最小化版本,所以我的h1文本< h1>我应该是绿色< / h1>应该是绿色.但cfstatic正在添加green.css和amp; red.css.我错过了配置吗?

application.cfc

component output="false"{

    This.name = "testing";
    This.sessionManagement = true;
    This.sessionTimeout = CreateTimeSpan(1,23,59,59);
    This.mappings["/org"] = expandpath('.')&'\org'; 

function onRequestStart(){


    application.cfstatic = CreateObject( 'org.cfstatic.CfStatic' )
        .init(  staticDirectory = Expandpath('./assets'),staticUrl       = "/cfstatic/assets/"
            );
    }
}

Index.cfm

<!DOCTYPE html>
<html lang="en">
<head>
    <Meta charset="UTF-8">
    <title>Test</title>
    <cfscript>
        application.cfstatic.include( '/css/green.css',true );
    </cfscript>

<cfoutput>#application.cfstatic.renderIncludes('css')#</cfoutput>

</head>
<body>
    <h1>I should be Green</h1>
</body>
</html>

Green.css

/* This is assets/css/green.css */
h1 {color:green;}

Red.css

/* This is assets/css/red.css */
h1 {color:red;}

我的浏览器输出是,

解决方法

我对CFStatic并不完全熟悉,但我复制了你的例子并找到了这个 article on how package minification works.通过阅读和评论,我认为你可以采用这两种不同的方式;虽然我不能说他们是最好的(或唯一的)路线.

A)将样式拆分为自己的包(文件夹).其中,根据该文件夹将每个文件夹中的文件编译为一个缩小文件.

所以你可以像这样做一个目录结构……

assets
-- css
--- green
---- green.css
--- red
---- red.css

编译后,缩小的文件将是green.min.css和red.min.css.

然后修改application.cfc中的include,它调用green.css,就像这样 – application.cfstatic.include(‘/ css / green / green.css’,true);

B)在构造函数中设置minifyMode =“file”,它将在一个位置创建单独的缩小文件.

在这种情况下,您当前的index.cfm将按预期工作.

根据您正在使用的应用程序的复杂程度,我认为拆分包装是要走的路,除非它只是几个文件.

干杯.

原文地址:https://www.jb51.cc/css/215065.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。