我创建了一个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,所以我在仓库中运行了npm install,其中有一个node_modules文件夹。

我已经使用MyComponentMyApp与位于Workspace/MyApp中的npm link链接了

虽然,当我运行MyApp并尝试使用MyComponent时,它抱怨重复的声明,因为reactMyComponent都在MyApp中,并且它们已链接。

如果我从node_modules删除MyComponent文件夹,则react-navigation抱怨react未定义。

在ReactJS世界中,例如webpack允许使用首选的node_modules文件夹设置根目录,这很好。

module.exports = {
  ...
  resolve: {
    root: path.resolve(__dirname, 'node_modules'),
  }
  ...
}


我希望做类似的事情,所以我没有重复的模块,并且可以在本地MyComponent中调试MyApp,而无需为每个更改重新安装MyComponent。我实现此目标的最佳方法是什么?

谢谢

最佳答案

我找到了解决问题的方法,它称为whackage
https://github.com/FormidableLabs/whackage

关于javascript - 什么是创建单独的npm模块并在本地使用它们的正确方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44571205/

10-12 01:08