执行时不创建 dist 文件夹的咕噜声任务

Grunt task not creating dist folders when executes

本文关键字:任务 文件夹 创建 dist 执行      更新时间:2023-09-26

>我有一个繁琐的任务,我用它来连接和缩小文件。它使用 usemin 包,并一直工作到创建一个包含所有文件的 .tmp 文件夹,但未能创建 dist 文件夹并将脚本移动到其中。不确定我在运行时创建"dis"文件夹的脚本中缺少什么。任何帮助将不胜感激。

 'use strict';
 var mountFolder = function (connect, dir) {
return connect.static(require('path').resolve(dir));
 };
 module.exports = function (grunt) {
require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks);
var projectConfig = {
    app: ['./'],
    dist: 'dist'
};
grunt.log.write(projectConfig.app);
grunt.initConfig({
    project: projectConfig,
    clean: {
        dist: {
            files: [{
                dot: true,
                src: [
                    '.tmp',
                    '<%= project.dist %>/*',
                    '!<%= project.dist %>/.git*'
                ]
            }]
        },
    },
    useminPrepare: {
        html: '<%= project.app %>/app.html',
        options: {
            dest: '<%= project.dist %>',
            uglify: 'uglify'
        }
    },
    usemin: {
        html: '<%= project.app %>/app.html',
        css: ['<%= project.dist %>/**/*.css'],
        options: {
            dest: '<%= project.dist %>',
            assetDirs: '.tmp',
            basedir: '<%= project.app %>'
        }
    },
    copy: {
        dist: {
            files: [{
                expand: true,
                dot: true,
                cwd: '<%= project.dist %>',
                dest: '<%= project.dist %>',
                src: [
                    '*.{ico,txt,png}',
                    '.htaccess',
                    'lib*//***/*//*',
                    'img/{,*//*}*.{gif,webp}',
                    //'partials*//***/*//*',
                    'css/png*//***/*//*'
                ]
            }]
        }
    },
});
grunt.registerTask('default', [
    'clean:dist',
    'useminPrepare',
    'concat',
    'usemin'
]);

};

copy:dist设置中,您将cwd设置为与目标目录相同。

更改为:

cwd: '<%= yeoman.app %>',
dest: '<%= yeoman.dist %>',

但问题是你定义了:

var projectConfig = {
    app: ['./'],
    dist: 'dist'
};

我希望看到app具有['./']以外的值,而是类似于'app'的值。如果您进行第一次更改,我建议在不更改目录结构的情况下,您最终会app为长度为一的位置数组,包括dist尝试复制到dist,除非我错过了关于您的结构的其他内容。