我正在寻找一种工具来优化我的网站的完整版本。我使用SASS
作为CSS preprocessor
和Uglify
来创建我的JavaScript文件,还有一些工具都与Grunt
绑定在一起。此外,标记在这种情况下是单个index.html
文件,但在其他项目中,它位于PHP文件或Liquid模板中。
我使用BEM(block, element, modifier)来命名我的课程,有时会导致非常大的classnames
,例如navigation__item__link--home
甚至更长。
我正在寻找一种工具,可以自动转换最终的构建CSS
文件,使其将类或ID名称更改为.a, .b
,但会更改每个HTML和JavaScript文件使用相同的方法,以便相关代码不会搞砸。
我当然希望保留原始项目文件,因此我希望该工具能够根据这些规则创建新文件,并且最好能够将其与Grunt
一起使用。
答案 0 :(得分:4)
听起来您正在寻找一种名为munch的工具。它是一种预部署工具,可以满足您的要求。它是一个命令行实用程序,您指向您的视图(html),css和js文件,它将缩短类名和ID,同时仍保持它们的唯一性并保持所有源文件之间的引用完整性。还有一些方便的选项,例如输出映射文件的功能,列出它所做的转换。文档很简单。
FWIW,我不参与该项目。
答案 1 :(得分:0)
我会为此推荐Grunt。
sass和css可以使用现有的grunt-sass插件完成,javascript可以使用grunt-uglify插件。
虽然我不确定是否有自定义uglification的插件,但您可以轻松编写插件来执行此操作。 Grunt插件是用节点编写的,所以如果你熟悉javascript,它就非常平易近人。