2016-11-23 18 views
9

Webpack'in dosyamın en üstünde #!/usr/bin/env node olmasını sağlamanın bir yolu var mı?Web kameramı kullanarak shebang'ı nasıl saklayabilirim?

Bir modül ile birlikte bir CLI paketlemeye çalışıyorum ... index.js/cli.js'umu tek bir yapılandırma dosyası kullanarak ayrı ayrı dışa aktarmak biraz zor oldu ... ve dizin için dizin gerektiriyor ... çalışıyorum ...

Bununla birlikte, .. .. #!/usr/bin/env node, herhangi bir fikrimdeki küçük dosyamın üstünde kalmanın bir yolunu bulamadım mı?

/******/ (function(modules) { // webpackBootstrap 
/******/ // The module cache 
/******/ var installedModules = {}; 

/******/ // The require function 
/******/ function __webpack_require__(moduleId) { 

/******/  // Check if module is in cache 
/******/  if(installedModules[moduleId]) 
/******/   return installedModules[moduleId].exports; 
.............................................................. 

ama ne ihtiyacım Bunun için ham moduyla BannerPlugin kullanmak mümkün olmalıdır

#!/usr/bin/env node //<------ HEREEEE 

/******/ (function(modules) { // webpackBootstrap 
/******/ // The module cache 
/******/ var installedModules = {}; 

/******/ // The require function 
/******/ function __webpack_require__(moduleId) { 

/******/  // Check if module is in cache 
/******/  if(installedModules[moduleId]) 
/******/   return installedModules[moduleId].exports; 

.............................................................. 
+0

Merhaba Raf, alma konusunda büyük bir iş şey oluyor ihracat-gerektirir. Şimdi neden webpack'in shebang'ı kaldırdığını düşünüyorsun? Bize biraz kod göster. –

+0

'#!/Usr/bin/env node',' node cli.js' için bir kısayol olarak kullanılır, böylece komut satırında bir ikiliymiş gibi betiğimi kullanabilirim ... ancak webpack bootstrap her şeyi temizler ... onun ilk satırında '#!/usr/bin/env node' içermesi gerekiyordu, aksi takdirde işe yaramaz ... –

cevap

11

geçerli: şort

webpack böyle bir dosyayı çıkarır. Bu eklenti ile, paketinizin en üstünde istediğiniz herhangi bir dizeyi ekleyebilirsiniz. Ham modu kullanarak, dizeyi bir yorumda sarmalamaz. senin webpack.config.js dosyasında

:

plugins: [ 
    new webpack.BannerPlugin('#!/usr/bin/env node', { raw: true }); 
] 
+3

Mükemmel ... Bu eklentiyi bilmiyordum ... mükemmel çalıştı .. sadece sözdizimi üzerine küçük bir not (webpack 2) '' '' '' yeni webpack.BannerPlugin ({banner: "#!/usr/bin/env düğümü", ham: doğru}) '' ' –

+0

Güzel! Yaşa ve öğren: -D –

+3

Bu API kullanımdan kaldırılmış gibi görünüyor; Webpack 2.2.1 için gerekli olan satır 'new webpack.BannerPlugin ({banner: '#!/usr/bin/env node', raw: true})' – LINKIWI