我如何使用Grunt-Sweet



我想设置咕unt甜的甜味,以便我可以开始观看我的sweetjs使用文件并随着它们的变化而编译它们。

但是,我是制作Gruntfiles的新手,并且该链接中根本没有足够的信息来知道如何进行设置。搜索使用grunt.loadNpmTasks('grunt-sweet');的文件,我能够找到一个用作模板的文件,但我无法正常工作。

这个gruntfile

/*global module:false*/
module.exports = function(grunt) {
'use strict';
grunt.initConfig({
    sweet: {
        content_dir: 'src',
        publish_dir: 'build',
    },
    watch: {
        sweet: {
            files: [
                'src/**'
            ],
            tasks: 'sweet'
        }
    }
});
grunt.loadNpmTasks('grunt-sweet');
// Project tasks
grunt.registerTask('default', 'sweet');
};

给我

W:sweetjs-playground> grunt sweet:watch
Running "sweet:watch" (sweet) task
Fatal error: Object #<Object> has no method 'done'
W:sweetjs-playground> grunt sweet -v
Initializing
Command-line options: --verbose
Reading "Gruntfile.js" Gruntfile...OK
Registering Gruntfile tasks.
Initializing config...OK
Registering "grunt-sweet" local Npm module tasks.
Reading W:sweetjs-playgroundnode_modulesgrunt-sweetpackage.json...OK
Parsing W:sweetjs-playgroundnode_modulesgrunt-sweetpackage.json...OK
Loading "sweet.js" tasks...OK
+ sweet
Loading "Gruntfile.js" tasks...OK
+ default
Running tasks: sweet
Running "sweet" task
Verifying property sweet exists in config...OK
Fatal error: Object #<Object> has no method 'done'

这似乎是成功的,直到没有。我在这里做错了什么?

我想要的只是为了将SRC中的文件自动编译为build

我不是这个专家,但是您可以尝试此片段。我希望它能有所帮助。

 module.exports = function(grunt) {
        grunt.initConfig({
            sweetjs: {
                src: {
                    files: [{
                      expand: true,
                      cwd: 'src/',
                      src: ['**/*.js'],
                      dest: 'build/'
                    }]
                }
            },
            watch: {
                sweetjs: {
                    files: ['src/**/*.js'],
                    tasks: ['sweetjs:src']
                }
            }
        });
        grunt.event.on('watch', function(action, filepath, target) {
            if(action == 'changed' && target == 'sweetjs') {
                grunt.config.set('sweetjs.src.src', [filepath]);
                grunt.config.set('sweetjs.src.dest', filepath.replace(/^src/, 'build'));
            }
        });
        grunt.loadNpmTasks('grunt-contrib-watch');
        grunt.loadNpmTasks('grunt-sweet.js');
        grunt.registerTask('default', ['sweetjs']);
    };

如果它不起作用,也许您的files路径是问题所在。尝试添加扩展名src: ['src/**/*{.php,.html}'],

我不知道这是否是您错误的原因,但我认为是这样。删除sweets之后的逗号上次config-property:

publish_dir: 'build', <-- 

最新更新