次のソースツリーがあるとします。
dev
丨- psd
丨- psd.psd
丨- png.png
丨- css
丨- css.css
丨- image
丨- 1.jpg
丨- 2.png
丨html.html
以下に示すように、psdフォルダーを無視してpubディレクトリにコピーするにはどうすればよいですか?
pub
丨- css
丨- css.css
丨- image
丨- 1.jpg
丨- 2.png
丨html.html
私は以下を試しました:
{
expand: true,
src: ['dev/**/*', '!dev/psd/**/*'],
dest: 'pub/'
}
しかし、これは空のpsd
ディレクトリになります
Gruntfile.jsをフォローしてみてください。 psdディレクトリは無視されます。 質問 の後に解決策が見つかりました。
module.exports = function(grunt) {
// Project configuration.
grunt.initConfig({
copy: {
main: {
src: ['**/*', '!**/psd/**'],
expand: true,
cwd: 'dev',
dest: 'pub',
}
}
});
// Load the plugin that provides the "copy" task.
grunt.loadNpmTasks('grunt-contrib-copy');
// Default task(s).
grunt.registerTask('default', ['copy']);
};
設定例。
mkdir gruntQuestion1
cd gruntQuestion1/
mkdir dev
mkdir dev/psd
mkdir dev/css
mkdir dev/image
touch dev/html.html
touch dev/psd/psd.psd
touch dev/psd/png.png
touch dev/css/css.css
touch dev/image/1.jpg
touch dev/image/2.png
atilla$ rm -rf pub/
atilla$ grunt
Running "copy:main" (copy) task
Created 2 directories, copied 4 files
Done, without errors.
atilla$ tree pub/
pub/
├── css
│ └── css.css
├── html.html
└── image
├── 1.jpg
└── 2.png
2 directories, 4 files