2017-08-16 58 views
1

這是一種奇怪的需求,但我不認爲這是一個X/Y問題。我需要從我自己的工具中訪問項目的babel相關依賴項和配置。我的工具可能是devDep,或全局安裝,或者運行npx;我無法知道。如何從其他地方訪問項目的babel相關代碼?

我知道這可以用babel-register來完成,因爲像babel-tape-runner這樣的很棒的工具可以做到這一點。不過,就我而言,我不能只是require('babel-register'),然後需要其他文件;我正在使用module._compile。 (寫出一個臨時文件,運行它,然後解除鏈接在這種情況下並不是一個好的選擇,因爲它可能會發生數百或數千次。)

有沒有什麼方法可以給一些代碼添加babelize I'已經從某處使用用戶的項目讀取本地Babel配置和預設和插件,然後通過module._compile

回答

0

原來這裏的正確答案是隻使用babel-register。我快速瀏覽了Jest是如何做到這一點的,他們直接使用babel-core。通過babel.transform(code, { extends: babelRc }).codemodule._compile工作得很好。整個差異可用here

相關問題