我想在sails.js應用程序中添加新的grunt任務。sails.js中的Grunt無法識別新任務
爲了保持我的測試用例的簡單性,我已將副本任務複製到一個新文件copy-tests.js中,該文件也位於tasks/config文件夾中。
我已經修改複製tests.js到設定方法的第一個參數更新爲「複製測試」,所以它現在讀取
module.exports = function(grunt) {
grunt.config.set('copy-tests', {
dev: {
files: [{
expand: true,
cwd: './assets',
src: ['**/*.!(coffee|less)'],
dest: '.tmp/public'
}]
},
build: {
files: [{
expand: true,
cwd: '.tmp/public',
src: ['**/*'],
dest: 'www'
}]
}
});
grunt.loadNpmTasks('grunt-contrib-copy');
};
我已經更新compileAssets.js加我的新任務,所以它現在讀取
module.exports = function (grunt) {
grunt.registerTask('compileAssets', [
'clean:dev',
'jst:dev',
'less:dev',
'copy:dev',
'copy-tests:dev',
'coffee:dev',
'jade:dev'
]);
};
當我嘗試舉帆應用程序,我得到「任務‘複製測試:開發’未找到」
我知道咕嚕可以看到我的文件,我已經加入Gruntfile.js的日誌語句爲fo llows
var taskConfigurations = loadTasks('./tasks/config'),
registerDefinitions = loadTasks('./tasks/register');
console.log(taskConfigurations);
我可以看到拷貝測試中的其他任務中,當本聲明日誌
任何人都可以用,爲什麼咕嚕聲稱無法找到複製的測試幫助:開發?
或者,也許我正在走這個錯誤的方式。我試圖實現的是有兩個複製任務,一個將我的主要構建內容複製到.tmp文件夾,另一個將我的客戶端測試複製到.tmp文件夾。後來我會確保只有我的開發版本運行兩個複製任務,我的產品只能運行第一個。我認爲最好的辦法是使用config文件夾中的兩個grunt任務,但也許有另外一種方法...
您是否還在tasks/register文件夾中定義了'copy-tests'? – jperezov
它是compileAssets.js,如上所述,它位於tasks/register文件夾中。是否有其他地方在你認爲需要的註冊文件夾中? – zcesl53
編輯我的問題,使我的意圖更清晰,因爲我不想定義一個新類型的咕task任務,只是重用現有的一個 – zcesl53