我用Lerna构建了monorepo。它的结构如下:
packages
- create-react-app-example
- utilscreate-react-app-example就像create-react-app产生的东西。即使用webpack转换ES6/ES7代码,具有热模块替换文件更改等功能;
utils包只有一个文件和一些实用程序函数。这个函数是从create-react-app-example包内部使用的,它不使用Webpack、Babel或其他任何工具;
所以一切都很简单。
但我很难配置舒适的开发环境。
所以我想要的东西很少:
utils包中使用es6/es7代码(这个包的代码应该以某种方式转移);utils包发生变化时,主模块的自动热更新;我唯一想到的就是调整webpack.config.js of create-react-app-example
node_modules/utils文件夹,并将其传输;webpack watch的参数,以便检测两个包中的更改。但我不喜欢上面的解决方案,对我来说很脏。
可能有更优雅的解决方案吗?
或者我也应该将webpack.config添加到utils包中,并以某种方式将其用作库?如果我没记错的话,Webpack有这样的功能。
谢谢
发布于 2018-12-29 20:33:48
为了能够在utils包中使用es6/es7代码(这个包的代码应该以某种方式被转移);
如果您真的希望将utils作为一个单独的包,只需配置babel将其与CRA应用程序分开传输即可。您可以使用巴贝尔克利来完成这个任务,下面是一个如何做到这一点的示例:https://github.com/babel/example-node-server
当用户包中有变化时,主模块的自动热更新;
你配置webpack手表的想法听起来是对的。Docs 这里
最后你很可能会有两款手表: babel转了up包,webpack负责CRA应用程序的构建和捆绑。
https://stackoverflow.com/questions/53636722
复制相似问题