Javascript 我应该在哪里存储我的可重用组件?
我有几个ReactJS项目,我开始有很多可重用的组件。我不想将它们发布到npm,也不想将它们与项目根目录下导入的节点\ u模块混用。他们应该去哪里 我的项目如下所示:Javascript 我应该在哪里存储我的可重用组件?,javascript,reactjs,ecmascript-6,modularity,react-scripts,Javascript,Reactjs,Ecmascript 6,Modularity,React Scripts,我有几个ReactJS项目,我开始有很多可重用的组件。我不想将它们发布到npm,也不想将它们与项目根目录下导入的节点\ u模块混用。他们应该去哪里 我的项目如下所示: npm install git+ssh://git@git.mydomain.com:Username/Repository-name 项目1/ 节点单元/ src/ index.js A.jsx 项目2/ 节点单元/ src/ index.js A.jsx A.jsx定义了一个可重用的组件,我只是到处复制文
npm install git+ssh://git@git.mydomain.com:Username/Repository-name
- 项目1/
- 节点单元/
- src/
- index.js
- A.jsx
- 项目2/
- 节点单元/
- src/
- index.js
- A.jsx
src/
或node\u modules/
中创建指向A.jsx的符号链接,但无法编译,例如react脚本
无法处理它们。你是如何解决这个问题的?谢谢你的帮助
我不想让它们与导入的节点_模块混合在一起
为什么不呢?将可重用组件提取到它们自己的库中是使它们可重用的最佳方法。提取后,您可以通过仅导入所需内容来组合项目。您也可以编写自己的测试,而无需运行整个项目的测试。最后,您可以独立于项目处理不同版本的组件
我尝试在src/或node_modules/中创建指向A.jsx的符号链接,但是
将文件从一个项目符号链接到另一个项目可能是一个好主意,但是您正在创建项目之间的依赖关系,而不是在项目和组件库之间创建依赖关系。如果要部署使用项目a中组件的项目B,则需要部署这两个项目并在服务器上重新创建符号链接。此外,项目A可能是一个比简单组件库更大的依赖项(具有自己的依赖项)
我不想将它们发布到npm
如果您不想在NPM上发布组件(我也不想),我仍然建议您将组件提取到自己的存储库中(GitLab有免费的私有存储库)
然后,您可以直接从存储库安装库,如下所示:
npm install git+ssh://git@git.mydomain.com:Username/Repository-name
它将在您的包中创建一个条目。json
:
"Repository-name": "git+ssh://git@git.mydomain.com:Username/Repository-name"
然后,您可以导入可重用组件:
import { ComponentA, ComponentB } from 'Repository-name'
对它们进行预编译,然后导入编译后的版本。我使用编译后的版本将其放入节点\u模块中,但它仍然不起作用。你能在回答中提供一个例子吗?事实上,是的,编译作品,我还解决了其他问题。但是如果可能的话,我想避免这个编译步骤,只使用可重用的src
编译步骤当然应该是自动化的,而不是使用babel repl。这就像使用babel cliI在npm脚本中添加一行一样简单,因为react脚本不会通过本地babel运行节点_模块,所以它会添加关于编译react组件的注释,因为这对于OP仍然会失败。