gpt4 book ai didi

使用 RHINO 编译目录和子目录中所有(css)LESS 文件的 ANT 脚本

转载 作者:行者123 更新时间:2023-12-04 03:02:09 24 4
gpt4 key购买 nike

我想编译所有 *.less特定文件夹中的脚本,它的子目录为 less-rhino-1.1.3.js .

github 上有一个针对特定文件执行此操作的示例,效果很好。但我想对一个完整的文件夹做同样的事情。我尝试了很多,这是我的最后一次尝试。

不行,propertyregex好像不是标准的ANT,我不想用这样的东西。我什至不确定这段代码是否有效。

<project name="test" default="main" basedir="../../">
<property name="css.dir" location="public/css"/>
<property name="tool.less" location="bin/less/less-rhino-1.1.3.js"/>
<property name="tool.rhino" location="bin/tools/rhino/js.jar"/>
<macrodef name="lessjs">
<attribute name="input" />
<attribute name="output" />
<sequential>
<java jar="${tool.rhino}" fork="true" output="@{output}">
<arg path="${tool.less}"/>
<arg path="@{input}"/>
</java>
<echo>Lessjs: generated @{output}</echo>
</sequential>
</macrodef>

<target name="main">
<echo>compiling less css</echo>
<fileset dir="${css.dir}" id="myfile">
<filename name="**/*.less" />
</fileset>
<property name="lessfilename" refid="myfile"/>
<propertyregex property="cssfilename"
input="${lessfile}"
regexp="^(.*)\.less$"
replace="^\1\.css$"
casesensitive="true" />
<lessjs input="lessfile" output="cssfilename"/>
</target>
</project>

最佳答案

您可以使用 <fileset>包括所有 less需要编译文件。稍后,您可以使用 <mapper>标记相应的定义 css文件。

<project name="test" default="main" basedir="../../">
<property name="css.dir" location="public/css"/>
<property name="tool.less" location="bin/less/less-rhino-1.1.3.js"/>
<property name="tool.rhino" location="bin/tools/rhino/js.jar"/>

<target name="less" description="Convert LESS to CSS then concatenate and Minify any stylesheets">

<echo message="Converting LESS to CSS..."/>
<!-- Clear the former compiled css files -->
<delete includeemptydirs="true">
<fileset dir="${css.dir}" includes="*.css, **/*.css" defaultexcludes="false"/>
</delete>

<apply dir="${css.dir}" executable="java" parallel="false" failonerror="true">
<!-- Give the input bundle of less files-->
<fileset dir="${css.dir}">
<include name="*.less"/>
</fileset>
<arg value="-jar" />
<arg path="${tool.rhino}" />
<arg path="${tool.less}" />
<srcfile/>
<!-- Output the compiled css file with corresponding name -->
<mapper type="glob" from="*.less" to="${css.dir}/*.css"/>
<targetfile/>
</apply>

</target>

</project>

关于使用 RHINO 编译目录和子目录中所有(css)LESS 文件的 ANT 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6909106/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com