我的 grunt 手表应该在保存时再次构建所有文件(我还没有“较新的”一个设置),但它不能创建所有 .dust 文件?它正在跳过文件。例如,我有一些带有“overview.dust”的目录,当我现在保存它们时,它不会为保存的文件更新/构建 .html 文件,而是为目录中的其他 .dust 文件更新/构建。>
我的 gruntfile.js:
module.exports = function(grunt) {
// empty init config
grunt.initConfig({});
// import task configs from grunt folder
grunt.loadTasks("grunt");
grunt.registerTask("test", ["copy", "concat:tests", "qunit"]);
// register detault task
grunt.registerTask("main", ["less", "concat", "dusthtml"]);
grunt.registerTask("default", ["main", "watch"])
// run in Dev mode
grunt.registerTask("dev", ["clean", "default"]);
// run Prod Build
grunt.registerTask("prod", ["main"]);
};
我的 package.json 文件:
{
"name": "dust",
"version": "0.0.1",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"dependencies": {
"grunt-contrib-clean": "^1.0.0"
},
"devDependencies": {
"grunt": "^0.4.5",
"grunt-contrib-clean": "^1.0.0",
"grunt-contrib-concat": "^1.0.0",
"grunt-contrib-copy": "^1.0.0",
"grunt-contrib-sass": "^0.9.2",
"grunt-contrib-less": "^2.0.0",
"grunt-contrib-watch": "^1.0.0",
"grunt-dust-html": "^0.3.0",
"grunt-jscs": "^2.7.0",
"grunt-sass": "^1.1.0"
}
}
我的dust-html.js 文件:
var path = require("path");
module.exports = function(grunt) {
var dustFiles = {};
grunt.file.expand("src/template/**/*.dust").forEach(function(file) {
var shortName = path.basename(file, ".dust"),
taskName = shortName.replace(/\W/g, ""),
context = grunt.file.expand("src/template/data/**/" + shortName + "*.json")[0],
distPath = path.dirname(file).replace(/^src[\/\\]template/, "");
if (!context) {
context = "src/template/data/serverController.json";
}
dustFiles[taskName] = {
src: file,
dest: "dist" + distPath + "/" + shortName + ".html",
options: {
basePath: "./src/",
partialsDir: "./src/",
context: context,
whitespace: true
}
};
});
grunt.config.set("dusthtml", dustFiles);
grunt.loadNpmTasks("grunt-dust-html");
};
预先感谢您提供的任何指导/帮助。我并没有过度关注开发人员,所以请帮助解释解释的答案。 :)