私は非常に簡単なプロジェクトを持っています。私はいくつかのbashファイルといくつかのJavaScriptファイルをsrc/
ディレクトリに持っています。私はJSファイルを切り出し、残りをコピーしたいと思います。いくつかのファイルをビルドし、残りをコピーします
ここに私のフォルダ構造があります:私は.js
に私の.es6
ファイルをtranspiles babel
を呼び出すGruntfileを持っているが、残念ながら、私のbashのファイル、run_code
がtranspiledされていない現時点ではそう
root
|- dist // Where grunt should output
|- src
| |- run_code // this is a bash file calling `code`
| |- code.es6 // My JavaScript files
|
|- Gruntfile.js
|- package.json
。ここに私のgruntfileです:
module.exports = function(grunt) {
require('load-grunt-tasks')(grunt);
grunt.initConfig({
babel: {
options: {
presets: ['es2015'],
plugins: []
},
dist: {
files: [{
expand: true,
cwd: 'src/',
src: ['**/*.es6'],
dest: 'dist/',
ext: '.js'
}]
}
}
});
grunt.registerTask('default', ['babel']);
};
はfiles: [{
セクションを見てみましょう。ご覧のとおり、ファイルをsrc/
ディレクトリからdist/
ディレクトリにコンパイルしています。これは以外は正常に動作しますが、run_code
はコピーされません。
私は後で他のタスクを追加するかもしれませんが、私の質問は、どうやってgruntタスクによって触れられていないファイルをコピーするべきですか?私は.es6
ではないすべてのファイルをコピーするフィルターを行うことができるかもしれませんが、ハードコーディングは非常にハックな解決策のように感じます。確かに、これをするための良い方法があるはずです(誰かがコピーして保存する方法より良いと思われるパーミッション)。同様に近い私が言うことができるように
ATMに応答する時間が足りません:ファイルをコピーするには、['grunt-contrib-copy'](https://www.npmjs.com/package/grunt-contrib-copy#usage-examples)を使用してください。プラグイン。ほぼすべてのパス設定と同様に、globパターンの否定も受け付けます(http://gruntjs.com/configuring-tasks#globbing-patterns)。同じことがバベルにも当てはまります。 .es6ファイルをコピーから除外するには、 '{src: '!src/*。es6'、dest:...}'などのように、ファイルセットに負のファイルパターンを追加することができます。 –