【发布时间】:2017-06-15 15:16:08
【问题描述】:
我创建了一个 React Native 组件,它位于不同的文件夹中,有自己的 package.json 文件,我想在另一个项目中使用它
MyComponent 位于 Workspace/MyComponent 中,并作为 package.json 中的一些依赖项
"dependencies": {
"react-navigation": "^1.0.0-beta.11"
},
"peerDependencies": {
"react": "16.0.0-alpha.12",
"react-native": "0.45.1"
},
"devDependencies": {
"react": "16.0.0-alpha.12",
"react-native": "0.45.1"
}
我目前正在开发MyComponent,所以我在repo中运行了npm install,有一个node_modules文件夹。
我已使用npm link 将MyComponent 与位于Workspace/MyApp 的MyApp 关联起来
虽然,当我运行MyApp 并尝试使用MyComponent 时,它抱怨重复声明,因为react 在MyComponent 和MyApp 中,并且它们是链接的。
如果我从MyComponent 中删除node_modules 文件夹,react-navigation 会抱怨react 未定义。
在 ReactJS 世界中,例如 webpack 允许使用首选的 node_modules 文件夹设置根目录,这很棒。
module.exports = {
...
resolve: {
root: path.resolve(__dirname, 'node_modules'),
}
...
}
我希望做类似的事情,这样我就没有重复的模块,并且可以在本地调试 MyApp 中的 MyComponent,而无需为每次更改重新安装 MyComponent。实现这一目标的最佳方法是什么?
谢谢
【问题讨论】:
标签: javascript node.js react-native npm