![](/img/trans.png)
[英]What is the simplest way for me to use ES6 modules and also npm modules using the import/export syntax?
[英]What is the right way to create separate npm modules and use them locally
我創建了一個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
文件夾。
我有聯系MyComponent
與MyApp
它位於Workspace/MyApp
使用, npm link
雖然,當我運行MyApp
並嘗試使用MyComponent
,它會抱怨重復的聲明,因為react
在MyComponent
和MyApp
,並且它們是鏈接的。
如果我從MyComponent
刪除node_modules
文件夾,則react-navigation
抱怨未定義的react
。
在ReactJS世界中,例如webpack允許使用首選的node_modules文件夾設置root。
module.exports = {
...
resolve: {
root: path.resolve(__dirname, 'node_modules'),
}
...
}
我希望做類似的事情,所以我沒有重復的模塊,可以在MyApp
調試MyComponent
而無需為每一次更改重新安裝MyComponent
。 實現這一目標的最佳方法是什么?
謝謝
如果這最終將放在自己的repo中,然后將像任何其他組件一樣安裝,我可能只是在父項目的node_modules目錄中構建它。 這將阻止您為每一個小變化運行npm install
。
您還可以聲明對本地文件的依賴關系,然后npm將其安裝在node_modules中
"dependencies": {
"my-component": "file:app/components/my-component",
}
所以我有一個我在我的package.json文件中引用的項目中構建的組件。 當我運行npm install
此組件安裝在node_modules文件夾中。 這可能有助於重復的庫聲明,但它不能解決重復使用npm install
更新:我剛剛了解到npm 5沒有將文件復制到node_modules文件夾。 它現在創建一個符號鏈接(基本上是指向真實目錄的虛擬目錄)到項目中的代碼。
這意味着每次更改代碼時都不必運行npm install
因此它可能是最適合您的解決方案。
我找到了一個問題的解決方案,它被稱為whackage
https://github.com/FormidableLabs/whackage
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.