babel CLI nonjs dosyalarını kopyala


90

Bir babel cli komutu çalıştırıyorum

babel src --out-dir lib

Es6 betiklerini src'den lib'ye kopyalamak için. Ancak, src / klasöründe sahip olduğum css / scss dosyalarını kopyalamayacak. Bunları da kopyalamanın bir yolu var mı?


Babel'in işlevi jsdosyaları işlemektir . cpKopyalama için kullanın . Daha da iyisi, bir yudum dosyası yapın.
Amadan

17
% 100 katılmıyorum, babel js olmayan dosyaları taşımak için işlevsellik içermelidir çünkü bu, kullanım durumlarının>% 50'si için gerekli işlevselliktir
Alexander Mills,

Yanıtlar:


177

Babel bunun için dosyaları kopyala seçeneğine sahiptir :

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

Not: Babels'in birincil amacının javascript dosyalarını işlemek olduğu doğrudur, ancak babel'in büyük araç paketi bugünlerde olduğu gibi daha karmaşık derleme komut dosyası kurulumlarına gitmeyi gereksiz kılmaktadır gulp. Kusursuz bir kurulum bunu şunlara ekleyebilir 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
bu neredeyse işe yaradı, ancak jsx dosyasını kopyalamaması dışında: /
Alexander Mills,

React ön ayarını eklememiş olabilir misiniz?
Emil Ingerslev

peki, react ön ayarı kurulu değilse, dosyayı doğru şekilde taşımalıdır? :) ben de olmadı, babel ile bir dava açtım, aksi takdirde işe yaradı ve oy verdim :)
Alexander Mills,

Evet, sanırım öyle. Değişiklik günlüğünün ( github.com/babel/babel/blob/master/CHANGELOG.md ) 5.8.13-5.8.20 sürümünde düzeltilen bu konuda bir hata bildirdiği bulundu: Babel'in derleyebileceği dosyaların olmadığı hatayı düzeltin --copy-files bayrağıyla yok sayıldığında yazılır.
Emil Ingerslev

7

Bunu ncp modülünü kullanarak yapmanın bir yolunu buldum

npm install ncp

Bu modül temelde bir cp gibidir, tek farkı

Bu global bir modül değil, bu yüzden bunu çalıştırmak için kullanıyoruz

node -e \"require('ncp').ncp('./src', './lib')\" && babel src --out-dir lib
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.