是的,这应该是可能的,但是您可能希望使用grunt.file.setBase 方法或--base
命令行选项来使任务工作,就像您将 Gruntfile 放在项目的根目录中一样。否则,您将遇到各种任务问题,默认情况下,这些任务不会写入工作目录之外的路径。例如,grunt-contrib-clean 插件上的force 选项。
下面是一个示例,它修改了Getting Started 页面中的示例 Gruntfile以使用此方法:
module.exports = function(grunt) {
// if you put the call to setBase here, then the package.json and
// loadNpmTasks paths will be wrong!!!
// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
uglify: {
options: {
banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n'
},
build: {
src: 'src/<%= pkg.name %>.js',
dest: 'build/<%= pkg.name %>.min.js'
}
}
});
// Load the plugin that provides the "uglify" task.
grunt.loadNpmTasks('grunt-contrib-uglify');
// now that we've loaded the package.json and the node_modules we set the base path
// for the actual execution of the tasks
grunt.file.setBase('../')
// Default task(s).
grunt.registerTask('default', ['uglify']);
};
我不使用 SASS,因此无法评论您的任务配置是否有任何问题,但以上内容可作为入门示例的修改。