首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在上传时自动缩小CSS和Javascript

在上传时自动缩小CSS和Javascript
EN

Stack Overflow用户
提问于 2009-08-31 21:19:20
回答 8查看 4.6K关注 0票数 10

有没有人知道在上传时通过处理脚本自动运行某些文件类型的好方法?我试图在上传到服务器时自动缩小CSS和Javascript,在本地保留一个漂亮的、人类可读的版本,同时在服务器上保留一个缩小的版本。我目前在Windows上使用的是WinSCP,它在某种程度上是可脚本化的,但可能还不够脚本化。我可能需要一些拼凑起来的解决方案,所以不要害怕提出一些带有管道胶带的建议;然而,我确实需要在本地计算机上进行缩小并上传压缩的文件,因为我使用共享主机,不能在服务器上安装垃圾文件。

谢谢。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2009-08-31 23:46:49

我建议创建一个makefile来解决这个特殊的问题,下面是我在我的一个网站上使用的一个又快又脏的makefile:

代码语言:javascript
运行
复制
PUBDIR=../../static/js/
OUTDIR=./build/
COMPRESSOR=../yui/build/yuicompressor-2.4.2.jar
ARGS=
VPATH=${OUTDIR}
INST_TARGETS=${OUTDIR}jgblue.js

jgblue.js: combined.js
    java -jar ${COMPRESSOR} ${ARGS} ${OUTDIR}$< -o ${OUTDIR}$@

combined.js: main.js listview.js tabs.js
    cat $^ > ${OUTDIR}$@

.PHONY: install

install:
    cp ${INST_TARGETS} ${PUBDIR}

然后你所要做的就是:

代码语言:javascript
运行
复制
make && make install

首先,它获取所有开发文件并将其连接到单个文件中,然后将连接的文件压缩并复制到您的公共目录中。我正在使用YUICompressor进行压缩,它工作得很好。

票数 7
EN

Stack Overflow用户

发布于 2009-08-31 21:25:15

要缩小CSS,只需要几个正则表达式。

代码语言:javascript
运行
复制
// (PHP) but should be easily portable to any language
function compressCSS($css) {
    return
        preg_replace(
            array('@\s\s+@','@(\w+:)\s*([\w\s,#]+;?)@'),
            array(' ','$1$2'),
            str_replace(
                array("\r","\n","\t",' {','} ',';}'),
                array('','','','{','}','}'),
                preg_replace('@/\*[^*]*\*+([^/][^*]*\*+)*/@', '', $css)
            )
        )
    ;
}

Dean Edwards的Javascript packer已经被移植到PHP, Perl, .NET and WSH上,所以如果你正在使用这些技术中的任何一种,你实际上可以让它在你自己的服务器上运行。...Just记得缓存结果!

票数 7
EN

Stack Overflow用户

发布于 2009-08-31 21:23:33

既然你使用的是共享主机,我建议你使用YUICompressor,并在上传css/js文件之前通过它运行它们。请确保不要丢失原始文件-将来进行更改可能会很痛苦。

您还可以在您的服务器上放置一个脚本,该脚本将定期重写您的css/js文件,并通过一个minify进程传递它们,并在完成上传后手动调用此脚本。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1359473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档