2016-11-13 86 views
2

有沒有什麼辦法讓我告訴巴貝爾忽略某些進口產品,例如我不希望巴貝爾接觸任何es5進口產品,例如polyfills。如何讓Babel在使用Rollup Babel插件時忽略es6導入?

我已經嘗試過排除選項,但它什麼都不做。下面是我的dev的依賴關係:

"devDependencies": { 
    "babel-preset-es2015-rollup": "^1.2.0", 
    "rollup": "^0.36.3", 
    "rollup-plugin-babel": "^2.6.1" 
} 

而且,這裏是我的意見index.js顯示我想通天忽略什麼:

/* BABEL DON"T TOUCH THESE PLEASE */ 
import "parties/promise.js"; 
import "parties/fetch.js"; 
import "parties/domtastic.min.js"; 
/* END BABEL NO TOUCHY */ 



/* BABEL TRANSPILE THESE */ 
import "settings/global.js"; 
import "settings/tabs.js"; 
import "modules/helpers.js"; 
import "modules/modal.js"; 
import "modules/notify.js"; 
import "modules/tabs.js"; 
/* END BABEL TRANSPILE */ 

我怎樣才能做到這一點?我是否需要另一個包來處理這個問題?

任何幫助非常感謝,謝謝。

+0

你怎麼編?它似乎允許編譯單個文件:https://babeljs.io/docs/usage/cli/#compile-files所以只需編譯你想要的文件,不要編譯已經是es5的文件。或者如果你想編譯一個目錄,使用--ignore並列出你想排除的所有文件:babel src --out-dir lib --ignore settings/global.js,settings/tabs.js,..等等 –

+0

感謝你,如果我只是使用樸素的寶貝,這種方法將起作用。不過,我需要使用匯總捆綁我的es6模塊,忽略似乎沒有效果。我正在使用'rollup -c'命令進行編譯。 – matt3224

+0

我明白了。我知道你可以使用JSPM,這也可以生成Rollup優化版本:http://jspm.io/0.17-beta-guide/static-builds-with-rollup-optimization.html或者我建議你從您的應用程序中刪除polyfills,並將它們包含在HTML中,因爲您不需要用於polyfills的模塊系統。 –

回答

1

只需使用exclude設置通天插件:

// rollup.config.js 
import babel from 'rollup-plugin-babel'; 

export default { 
    // ... 
    plugins: [ 
    babel({ 
     exclude: [ 'node_modules/**', 'src/parties/**' ] 
    }) 
    ] 
}; 
+0

我看到我做了什麼,我使用排除是不正確的。非常感謝Rich! – matt3224

相關問題