我在这里要求最好的做法。
有没有人成功地将反应网络应用项目拆分为私人npm'功能'套餐?
我有一个很大的代码库,开始是一个痛苦的开发和分成单独的包将是好的。
我想要
当前堆栈的重要位是
在尝试此操作时,我尝试将部分代码复制到作用域的私有npm包中,并配置主项目babel以在@scope
内包含node_modules
路径。
我在导入的代码中遇到了babel not undestanding jsx的各种问题,并且在主项目中看不到流类型
答案 0 :(得分:1)
我正在使用webpack-inherit。
它允许制作“可继承的”项目,包括其Webpack配置,并附带一个小型CLI工具,以使用正确的配置调用Webpack
它处理node_modules和webpack来制作可继承的“代码层”,甚至在编译节点脚本或使用monorepo结构时也可以工作
它还具有一些不错的功能,例如glob解析,可帮助包括未知数量的文件。
该插件可能需要改进。但我已经在所有项目中使用了一段时间,它非常稳定
希望对您有所帮助:)
答案 1 :(得分:0)
我有类似的要求。我们还希望保留源代码映射(因此您不会尝试从babelled代码进行调试)。
我们找到了一个使用符号链接的简单解决方案:
ln -s
(对于Linux或Mac;我不知道Windows的等价物是什么)。resolve: {symlinks: false }}
。然后你的代码被拆分 - 但就构建过程而言,没有任何改变。
您可以在每个"包"。
中进行单元测试E.g。您的项目文件夹可能最终看起来像这样:
这很简单,也很有效。
在确定之前,我们尝试使用自己的package.json将包装作为独立的npm包。但我们无法让它工作,以便它可以构建和运行,并且可以进行调试。