日食光动力治疗有这个方便的内置功能唯压缩机在文件的上下文菜单中。但是,当构建使用多个此类文件的 Web 应用程序时,每次更新后手动压缩文件会变得很乏味。它甚至不记得哪些文件压缩为哪些文件名,因此您必须再次输入。
是否可以在 Eclipse 中轻松地自动执行此过程,以便您可以单击“构建”或其他内容,然后所有指定的文件将被压缩到其目标?
Eclipse 中有关 Yui 功能的文档确实存在真空。
我正在使用 Eclipse Indigo 3.7.0 和 PDT 3.0.0.v20110516-11,但自 Galileo 以来,PDT 和 Yui 选项仍然非常相似
-update-
自动化解决方案,不是 Eclipse 原生的,但很接近:
-
GNU make 生成文件
%-min.js: %.js
${java} -jar ${compressor} $< -o ${<:.js=-min.js}
-
Windows 批处理
FOR %f IN (*.js) DO java -jar yuicompressor.jar %f -o deploy\%f
-
Linux shell 脚本
ls -1 *.js | awk '{printf("java -jar yuicompressor.jar %s -o deploy/%s",$1,$1)}' | /bin/sh
-
ANT file
看这里:http://www.ubik-ingenierie.com/ubikwiki/index.php?title=Minifying_JS/CSS
如何在此处粘贴 html/xml?
另请参阅this问题。
好吧,我实际上下载了 jar 并创建了一个 ANT 任务来压缩 CSS 和 JS。我在 Tomcat 上工作,因此它包括上传内容、清理工作/目录等任务。希望能帮助到你。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE project>
<project name="MyProject" default="subir">
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-->
<property name="project.name" value="MyProject" />
<property name="src.dir" location="src" />
<property name="web.dir" location="WebContent" />
<property name="lib.dir" location="WebContent/WEB-INF/lib" />
<property name="bin.dir" location="WebContent/WEB-INF/classes" />
<property name="minify.dir" location="minified" />
<property name="minify.sourcedir" location="${skin.dir}/resources/" />
<!-- <property name="minify.sourcedir" location="${web.dir}/resources/" /> -->
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-->
<property prefix="env" file="build.properties" />
<path id="project.classpath">
<pathelement location="${src.dir}" />
<fileset dir="${lib.dir}">
<include name="*.jar" />
</fileset>
</path>
<path id="yui.classpath.minifier">
<fileset dir="${lib.dir}">
<include name="YUIAnt.jar" />
<include name="yuicompressor-2.4.2.jar" />
</fileset>
</path>
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-->
<target name="checkTomcatHome">
<condition property="local.tomcathome.exists">
<available file="${env.TOMCAT_PRUEBAS}" type="dir" />
</condition>
</target>
<target name="subir" depends="checkTomcatHome" if="local.tomcathome.exists">
<echo message="El servidor Tomcat destino existe, buscando archivos para copia en el proyecto y en en OsmoCore/WebContent..." />
<copy todir="${env.TOMCAT_PRUEBAS}/webapps/${project.name}">
<fileset dir="${web.dir}">
<include name="**/*.*" />
</fileset>
</copy>
<!--<echo message="Buscando archivos para copia en ${env.TOMCAT_PRUEBAS}/webapps/${project.name}/WEB-INF/classes..." />
<copy todir="${env.TOMCAT_PRUEBAS}/webapps/${project.name}/WEB-INF/classes">
<fileset dir="${bin.dir}">
<include name="**/*.*" />
</fileset>
</copy>-->
</target>
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-->
<target name="WAR">
<delete file="${project.name}.war"/>
<delete dir="TMP_WAR"/>
<mkdir dir="TMP_WAR"/>
<copy todir="TMP_WAR">
<fileset dir="${web.dir}">
<include name="**/*.*" />
</fileset>
</copy>
<copy todir="TMP_WAR/WEB-INF/classes">
<fileset dir="${bin.dir}">
<include name="**/*.*" />
</fileset>
</copy>
<delete dir="${project.name}.war"/>
<zip destfile="${project.name}.war">
<zipfileset dir="TMP_WAR">
<include name="**/*.*" />
</zipfileset>
</zip>
<delete dir="TMP_WAR"/>
</target>
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-->
<target name="subirCompleto" depends="checkTomcatHome" if="local.tomcathome.exists">
<echo message="El servidor Tomcat destino existe, buscando carpetas Work y ${project.name} en Webapps, para eliminar" />
<delete dir="${env.TOMCAT_PRUEBAS}/work" />
<delete dir="${env.TOMCAT_PRUEBAS}/webapps/${project.name}" />
<antcall target="subir" />
</target>
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-->
<target name="borrarWork" depends="checkTomcatHome" if="local.tomcathome.exists">
<echo message="El servidor Tomcat destino existe, buscando carpeta Work a eliminar..." />
<delete dir="${env.TOMCAT_PRUEBAS}/work"/>
</target>
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-->
<target name="css.minify">
<echo message="Creando directorio temporal ${minify.dir} (si no existe aún)..." />
<mkdir dir="${minify.dir}" />
<echo message="Borrando versión anterior de la carpeta temporal ${minify.dir}/css-min/..." />
<delete dir="${minify.dir}/css-min/" />
<echo message="Creando carpeta temporal ${minify.dir}/css-min/..." />
<mkdir dir="${minify.dir}/css-min/" />
<echo message="Copiando estructura de ${web.dir}/resources/styles/ en carpeta temporal..." />
<copy todir="${minify.dir}/css-min/">
<fileset dir="${minify.sourcedir}/styles/">
<include name="**/*.*" />
</fileset>
</copy>
<echo message="Borrando los CSS copiados a la carpeta temporal..." />
<delete>
<fileset dir="${minify.dir}/css-min/" >
<include name="**/*.css"/>
</fileset>
</delete>
<echo message="Comprimiendo!!!..." />
<apply executable="java" parallel="false" dest="${minify.dir}/css-min/">
<fileset dir="${minify.sourcedir}/styles/">
<include name="**/*.css"/>
</fileset>
<arg line="-jar"/>
<arg path="${lib.dir}/yui_compressor/yuicompressor-2.4.7.jar"/>
<arg line="--line-break 0"/>
<arg line="--type css"/>
<arg line="--charset ISO-8859-1"/>
<arg line="--nomunge"/>
<!-- <arg line="- -verbose"/> -->
<srcfile />
<arg line="-o"/>
<mapper type="glob" from="*.css" to="*.css"/>
<targetfile />
</apply>
</target>
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-->
<target name="js.minify">
<echo message="Creando directorio temporal ${minify.dir} (si no existe aún)..." />
<mkdir dir="${minify.dir}" />
<echo message="Borrando versión anterior de la carpeta temporal ${web.dir}/resources/js-min/..." />
<delete dir="${minify.dir}/js-min/" />
<echo message="Creando carpeta temporal ${web.dir}/resources/js-min/..." />
<mkdir dir="${minify.dir}/js-min/" />
<echo message="Copiando estructura de ${web.dir}/resources/scripts/ en carpeta temporal..." />
<copy todir="${minify.dir}/js-min/">
<fileset dir="${minify.sourcedir}/scripts/">
<include name="**/*.*" />
</fileset>
</copy>
<echo message="Borrando los JS copiados a la carpeta temporal..." />
<delete>
<fileset dir="${minify.dir}/js-min/" >
<include name="**/*.js"/>
</fileset>
</delete>
<echo message="Comprimiendo!!!..." />
<apply executable="java" parallel="false" dest="${minify.dir}/js-min/">
<fileset dir="${minify.sourcedir}/scripts">
<include name="**/*.js"/>
</fileset>
<arg line="-jar"/>
<arg path="${lib.dir}/yui_compressor/yuicompressor-2.4.7.jar"/>
<arg line="--line-break 0"/>
<arg line="--type js"/>
<arg line="--charset ISO-8859-1"/>
<arg line="--nomunge"/>
<!--<arg line="- -verbose"/>-->
<srcfile />
<arg line="-o"/>
<mapper type="glob" from="*.js" to="*.js"/>
<targetfile />
</apply>
</target>
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-->
<target name="js.minified.subir" depends="checkTomcatHome" if="local.tomcathome.exists">
<echo message="El servidor Tomcat destino existe, copiando archivos 'encogidos' a ${env.TOMCAT_PRUEBAS}/webapps/${project.name}/resources/scripts..." />
<copy todir="${env.TOMCAT_PRUEBAS}/webapps/${project.name}/resources/scripts" overwrite="yes">
<fileset dir="${minify.dir}/js-min/">
<include name="**/*.*" />
</fileset>
</copy>
</target>
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-->
<target name="css.minified.subir" depends="checkTomcatHome" if="local.tomcathome.exists">
<echo message="El servidor Tomcat destino existe, copiando archivos 'encogidos' a ${env.TOMCAT_PRUEBAS}/webapps/${project.name}/resources/styles..." />
<copy todir="${env.TOMCAT_PRUEBAS}/webapps/${project.name}/resources/styles" overwrite="yes">
<fileset dir="${minify.dir}/css-min/">
<include name="**/*.*" />
</fileset>
</copy>
</target>
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-->
<target name="css.minified.process">
<echo message="Reduciendo el tamaño de los archivos CSS..." />
<antcall target="css.minify" />
<echo message="Cargando los archivos CSS..." />
<antcall target="css.minified.subir" />
<echo message="Borrando la carpeta temporal..." />
<delete dir="${minify.dir}" />
</target>
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-->
<target name="js.minified.process">
<echo message="Reduciendo el tamaño de los archivos JS..." />
<antcall target="js.minify" />
<echo message="Cargando los archivos JS..." />
<antcall target="js.minified.subir" />
<echo message="Borrando la carpeta temporal..." />
<delete dir="${minify.dir}" />
</target>
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-->
</project>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)