Grunt 变量作为文件名和文件路径
Grunt variable as filename and file path
我正在尝试使用 Grunt 选项来定义文件路径和文件名。这曾经有效,但现在我遇到了意外的令牌错误。
var myTarget = grunt.option('target');
'build/assets/css/' + myTarget + '.css': 'source/scss/' + myTarget + '/styles.scss'
您应该对文件名和字符串中的变量使用特殊占位符。首先,您应该加载选项(使用 grunt.option()
)或配置(使用 grunt.congif()
),作为 Grunt initConfig
方法的选项。那么你应该使用特殊的占位符 <%= varname %>
来使用加载的选项或配置。
grunt.initConfig({
target : grunt.option('target'),
...
files : {
'build/assets/css/<%= target %>.css' : 'source/scss/<%= target %>/styles.scss'
}
...
});
配置也可以加载对象,所以特殊占位符也可以匹配对象属性:
grunt.config('definitions', (function() {
return {
target : 'my-target'
};
})());
稍后在您的配置中:
grunt.initConfig({
config : grunt.config('definitions'),
...
files : {
'build/assets/css/<%= config.target %>.css' : 'source/scss/<%= config.target %>/styles.scss'
}
...
});
在 Grunt 官方网站上阅读更多关于 Grunt option, config and templates 的信息。
希望对您有所帮助。
我正在尝试使用 Grunt 选项来定义文件路径和文件名。这曾经有效,但现在我遇到了意外的令牌错误。
var myTarget = grunt.option('target');
'build/assets/css/' + myTarget + '.css': 'source/scss/' + myTarget + '/styles.scss'
您应该对文件名和字符串中的变量使用特殊占位符。首先,您应该加载选项(使用 grunt.option()
)或配置(使用 grunt.congif()
),作为 Grunt initConfig
方法的选项。那么你应该使用特殊的占位符 <%= varname %>
来使用加载的选项或配置。
grunt.initConfig({
target : grunt.option('target'),
...
files : {
'build/assets/css/<%= target %>.css' : 'source/scss/<%= target %>/styles.scss'
}
...
});
配置也可以加载对象,所以特殊占位符也可以匹配对象属性:
grunt.config('definitions', (function() {
return {
target : 'my-target'
};
})());
稍后在您的配置中:
grunt.initConfig({
config : grunt.config('definitions'),
...
files : {
'build/assets/css/<%= config.target %>.css' : 'source/scss/<%= config.target %>/styles.scss'
}
...
});
在 Grunt 官方网站上阅读更多关于 Grunt option, config and templates 的信息。
希望对您有所帮助。