Grunt watch 没有编译所有文件

时间:2021-06-11 17:30:02

标签: gruntjs package.json grunt-contrib-watch

我的 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");
};

预先感谢您提供的任何指导/帮助。我并没有过度关注开发人员,所以请帮助解释解释的答案。 :)

0 个答案:

没有答案
相关问题