babelCLIはnonjsファイルをコピーします


90

私はbabelcliコマンドを実行しています

babel src --out-dir lib

es6スクリプトをsrcからlibにコピーします。ただし、src /フォルダーにあるcss / scssファイルはコピーされません。それらもコピーさせる方法はありますか?


Babelの機能はjsファイルを処理することです。cpコピーに使用します。さらに良いことに、gulpfileを作成します。
アマダン2015

17
100%同意しない、これはユースケースの50%以上に必要な機能であるため、babelにはjs以外のファイルを移動する機能を含める必要があります
Alexander Mills 2016年

回答:


176

Babelには、このためのファイルコピーオプションがあります。

babel src --out-dir lib --copy-files

注:babelsの主な目的がjavascriptファイルを処理することであることは事実ですが、最近のbabelのツールの大きなスイートにより、より複雑なビルドスクリプトのセットアップを行う必要がなくなることがよくgulpあります。gulp-lessセットアップはこれを以下に追加する可能性がありますpackages.json

{
  ...
  "devDependencies": {
    "babel": "*",
    "babel-cli": "^6.4.0",
    "babel-preset-es2015": "^6.3.13"
  },
  "scripts": {
    "watch": "babel --watch src --out-dir lib --source-maps inline --copy-files",
    "build": "babel src --out-dir lib --source-maps inline --copy-files" 
  },
  "babel": {
    "presets": [
      "es2015"
    ]
  }
}

1
これは、jsxファイルをコピーしなかったことを除いて、ほとんど機能しました:/
Alexander Mills

反応プリセットを追加していないのでしょうか?
Emil Ingerslev 2016年

さて、reactプリセットがインストールされていない場合でも、ファイルを正しく移動する必要がありますか?:)どちらもしませんでした、私はbabelに問題を提出しました、そうでなければこれはうまくいき、私は賛成しました:)
Alexander Mills

ウン、そう思う。変更ログ(github.com/babel/babel/blob/master/CHANGELOG.md)に、これに関するバグがバージョン5.8.13〜5.8.20で修正されていることが記載されていることがわかりました。babelがコンパイルできるファイルがコンパイルされなかったバグを修正します。 --copy-filesフラグで無視されると書き込まれます。
Emil Ingerslev 2016年

7

ncpモジュールを使用してこれを行う方法を見つけました

npm install ncp

このモジュールは、動作することを除けば、基本的にcpに似ています。

これはグローバルモジュールではないため、これを実行するには

node -e \"require('ncp').ncp('./src', './lib')\" && babel src --out-dir lib
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.