node_modules
中的我的本地自定義模塊無權訪問它父級擁有的react
包。添加本地npm依賴關係時找不到React模塊
我有以下代碼:
// SomeComponent.js
import React, { Component } from 'react'
import {
View
} from 'react-native'
import CustomComponent from 'react-native-my-super-components'
export default SomeComponent extends Component {
render() {
return (
<View>
<CustomComponent />
</View>
)
}
}
我有一個一直npm link
版,被稱爲react-native-my-super-components
目錄。
// index.js of 'react-native-my-super-components'
import React, { Component } from 'react'
import {
Text,
View,
} from 'react-native'
export default SomeComponent extends Component {
render() {
return (
<View>
<Text>SomeComponent</Text>
</View>
)
}
}
我在含SomeComponent.js
我的項目叫npm link react-native-my-super-component
。
這package.json
看起來是這樣的:
{
"name": "react-native-my-super-component",
"version": "0.0.1",
"description": "My Super Component",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Naoto Ida",
"license": "MIT",
"peerDependencies": {
"react": ">=15.3.2",
"react-native": ">=0.35.0"
}
}
我沒有看到比其他node_modules
任何差異。什麼可能導致這個?
感謝您的回答。所以如果我可以將我的'react-native-my-super-component'推到遠程倉庫,我應該這樣做,還是'npm install'?我之前使用過webpack從ES6轉換到老JS,但沒有太多這樣的項目。 –
是的。使用'npm link'可以讓您的主項目在運行自己的開發過程時使用'react-native-my-super-component'。然後在prod中,或者當'react-native-my-super-component'被推送到遠程倉庫時,只需使用'npm install react-native-my-super-component'。 –