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将按预期工作.

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

干杯.

相关文章

Css3如何实现鼠标移上变长特效?(图文+视频)
css3怎么实现鼠标悬停图片时缓慢变大效果?(图文+视频)
jquery如何实现点击网页回到顶部效果?(图文+视频)
css3边框阴影效果怎么做?(图文+视频)
css怎么实现圆角边框和圆形效果?(图文+视频教程)
Css3如何实现旋转移动动画特效