我正在使用require.js开发一个项目,并计划使用r.js对其进行优化。 javascript文件的优化是作为需要自动配置的一部分内置的。
我想要的是将CSS分成几个不同的文件,例如head.css
,body.css
,main.css
等。当r.js运行时,它应该将它们连接成一个文件。 HTML将包含:
<link rel=stylesheet type=text/css href=css/main.css>
问题是在开发过程中,文件仍会被拆分。我想让它们分开,不希望每次都重做优化 - 即使它可以自动完成。
即使在开发过程中,我也希望能够仅使用一个样式表引用来保留HTML。这样做的最佳方式是什么?
我可以看到几种可能存在的问题:
main.css
使用@import
包含所有其他CSS文件。
main.css
。这不是什么大问题,因为文件数量相对较少,可能很早就知道了。r.js
未对此进行优化require-css
r.js
,连接所有CSS文件并适当缩小。
答案 0 :(得分:2)
我使用grunt-contrib-cssmin效果很好。您也可以将参数传递给grunt,这样您就可以grunt:dist
将所有css和grunt
结合起来,将它们分开。
module.exports = function (grunt) {
grunt.initConfig({
cssmin: {
add_banner: {
options: {
banner: '/* My minified css file */'
},
files: {
'dist/css/dist.min.css': ["bower_components/bootstrap/dist/css/bootstrap.css", "tmp/css/dist.css"]
}
}
}
})
}
还有一个requirejs script for grunt.设置如下:
requirejs: {
compile: {
options: {
baseUrl: "path/to/base",
mainConfigFile: "path/to/config.js",
out: "path/to/optimized.js"
}
}
}