我有一个backbone项目,其中包含几个js文件和一些css文件。
我想将它们压缩成单个js和单个css文件。
到目前为止,我已经将所有的js文件连接并压缩成了一个名为main.min.js的文件。
现在我正在尝试对css文件执行同样的操作。
这是我的布局:
css
bootstrap.css
docs.css
...
js
optimize-node (script to run the optimizer)
app
main.js (entry point of my app)
require-main.js
index.html
这是我用来压缩代码的脚本
# optimize-node
node ../../r.js -o baseUrl=. mainConfigFile=app/require-main.js
这是我的 require-main.js。
/*globals require*/
'use strict';
// Set the require.js configuration file for your application
require.config({
// uncomment to create a single file with no optimization at all
// optimize: 'none',
baseUrl: 'js',
// Initialize the application with the main application file
deps : ['app/main'],
preserveLicenseComments: false,
out : 'main.min.js',
name : 'app/main',
paths: {
// Embed require in main.min
'requireLib' : 'lib/require.min',
// Libraries
jquery : 'lib/jquery-1.10.1',
jqueryui : 'lib/jquery-ui-1.8.21.custom',
moment : 'lib/moment-2.0.0',
datepicker : 'lib/bootstrap-datepicker-1.0.1',
[...]
},
include : ['requireLib'],
shim: {
lodash: {
exports: '_'
},
backbone: {
deps : ['lodash', 'jquery'],
exports : 'Backbone'
},
[...]
}
});
使用这个配置时,当我运行 optimize-node 命令时,它可以完美地工作,能够生成一个 js/app/main.min.js 文件。
现在我想修改配置文件,让它不仅可以生成上述文件,还需要生成一个 css/main.min.css 文件,其中包含 css/*.css 文件的内容,并将它们合并和压缩。
我尝试替换以下这些行:
// single file optimization
out : 'main.min.js',
name : 'app/main',
使用此配置定义两个模块,一个用于 JavaScript,另一个用于 CSS。
// multiple file optimization
dir: '../../build',
appDir: '../',
modules: [
{
name: 'app/main',
include: ['app/main']
}
],
但它并没有按预期工作
我的整个项目都复制到了../../build中,并对每个文件进行了优化
我不知道如何添加另一个模块,只需选择css文件
也许我应该创建一个require-css.js文件,专门处理css/*.css文件
有人可以帮我吗?我认为这应该是一个相当普遍的情况