我使用通天transpile一些ES2015代碼ES5,像這樣JS:巴貝爾轉換路徑JSX
"scripts": {
"build:lib": "babel src --out-dir lib --presets=react,es2015,stage-0",
"clean": "rimraf lib dist coverage",
"prepublish": "npm run clean && npm run build:lib"
}
據其轉換罰款ES5。問題在於,babel並沒有改變文件之間的路徑。它將文件的擴展名從.jsx更改爲.js,但在文件內部,它仍將該文件引用爲.jsx。
爲了簡化它,文件夾結構如下所示。巴貝爾已經改變了.jsx文件的擴展名:
- index.js
- Component.js
雖然裏面index.js,也算保持.jsx擴展:
require('./Component.jsx');
我這麼想嗎?有一個更好的方法嗎? 感謝您的幫助:)
Webpack增加了很多我不需要的東西。我發現它是有用的,但在這種情況下,我只是想要相同的文件夾結構,但在ES5中,我得到它很好,與上面提到的問題。你將如何在Webpack中做到這一點? –
你可以自己決定你想在那邊做些什麼。我可以告訴你,你可以做同樣的事情,就像你在Webpack中所做的那樣。 我將編輯答案併發布webpack配置示例 – Shiroo
Ofcourse它將創建一個包而不僅僅是已翻譯的文件。儘管webpack還爲您提供了額外的adhoc posibilites,例如COmpressionPlugin或Deduping,或者甚至更好的樹抖動元素(如果您沒有使用stage-0 ofcourse,但單手選擇插件以避免轉換爲CommonJS)。 – Shiroo