我有一个咕噜咕噜的任务,我用来连接&缩小文件。它使用了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'
]);
};
答案 0 :(得分:0)
在copy:dist
设置中,您将cwd
设置为与目标目录相同。
更改为:
cwd: '<%= yeoman.app %>',
dest: '<%= yeoman.dist %>',
但问题在于你定义了:
var projectConfig = {
app: ['./'],
dist: 'dist'
};
我希望看到app
的值不是['./']
,而是'app'
。如果您进行第一次更改,我建议不更改目录结构,最终会使用app
作为项目根目录的长度为1的位置数组,包括dist
尝试复制到{{1}除非我遗漏了关于你结构的其他内容。