我使用通天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