- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在我的 react native 应用程序中添加 redux,但是当我启动应用程序时出现此错误。我已按照这些步骤(Unable to resolve module `../../../../src/redux` from `node_modules/react-redux/lib/connect/mapDispatchToProps.js)但仍然收到此错误
错误
error: Error: Unable to resolve module `../../../../src/redux` from `node_modules\react-redux\lib\connect\mapDispatchToProps.js`:
None of these files exist:
* src\redux(.native|.android.js|.native.js|.js|.android.json|.native.json|.json|.android.ts|.native.ts|.ts|.android.tsx|.native.tsx|.tsx|.android.svg|.native.svg|.svg)
* src\redux\index(.native|.android.js|.native.js|.js|.android.json|.native.json|.json|.android.ts|.native.ts|.ts|.android.tsx|.native.tsx|.tsx|.android.svg|.native.svg|.svg)
at ModuleResolver.resolveDependency (M:\Cimon\Files\Chaoh\chaohApp\node_modules\metro\src\node-haste\DependencyGraph\ModuleResolution.js:163:15)
at ResolutionRequest.resolveDependency (M:\Cimon\Files\Chaoh\chaohApp\node_modules\metro\src\node-haste\DependencyGraph\ResolutionRequest.js:52:18)
at DependencyGraph.resolveDependency (M:\Cimon\Files\Chaoh\chaohApp\node_modules\metro\src\node-haste\DependencyGraph.js:287:16)
at Object.resolve (M:\Cimon\Files\Chaoh\chaohApp\node_modules\metro\src\lib\transformHelpers.js:267:42)
at M:\Cimon\Files\Chaoh\chaohApp\node_modules\metro\src\DeltaBundler\traverseDependencies.js:434:31
at Array.map (<anonymous>)
at resolveDependencies (M:\Cimon\Files\Chaoh\chaohApp\node_modules\metro\src\DeltaBundler\traverseDependencies.js:431:18)
at M:\Cimon\Files\Chaoh\chaohApp\node_modules\metro\src\DeltaBundler\traverseDependencies.js:275:33
at Generator.next (<anonymous>)
at asyncGeneratorStep (M:\Cimon\Files\Chaoh\chaohApp\node_modules\metro\src\DeltaBundler\traverseDependencies.js:87:24)
index.js
import {AppRegistry} from 'react-native';
import { Provider } from 'react-redux';
import { store } from "reduxCore";
import App from './src/App';
import {name as appName} from './app.json';
const ReduxApp = () => {
<Provider store={store}>
<App />
</Provider>
}
AppRegistry.registerComponent(appName, () => ReduxApp);
src/App.js
import React, { Component } from 'react';
import EStyleSheet from 'react-native-extended-stylesheet';
import {PersistGate} from 'redux-persist/integration/react';
import createNavigator from './screens';
import {setStateAsynchronous} from 'utils/utils';
import {setNavigator} from 'utils/navigator';
import {COLOR_PALLETES} from 'utils/constants';
import {store, persistor} from 'reduxCore';
class App extends Component {
constructor() {
super();
EStyleSheet.build({...COLOR_PALLETES});
this.state = {
appNavigator: null,
isLoginSessionValid: false,
}
}
checkUserAuth() {
const {isLoginSessionValid} = this.state;
setTimeout(async () => {
await setStateAsynchronous(this, {
appNavigator: createNavigator({
initialRouteName: isLoginSessionValid
? 'Home'
: 'Onboarding'
})
});
}, 1);
}
componentDidMount() {
this.unsubscribeStore = store.subscribe();
}
componentWillUnmount() {
this.unsubscribeStore && this.unsubscribeStore();
}
render(){
const AppNavigator = this.state.appNavigator;
return (
<PersistGate onBeforeLift={() => this.checkUserAuth()} loading={null} persistor={persistor}>
{AppNavigator ? (
<AppNavigator ref={navigatorRef => setNavigator('appNavigator', navigatorRef)}/>
) : <React.Fragment />}
</PersistGate>
);
}
};
export default App;
src/appRedux/index.js
import {persistStore, persistReducer, createMigrate} from 'redux-persist';
import AsyncStorage from '@react-native-community/async-storage';
import {createStore, applyMiddleware, compose} from 'redux';
import Thunk from 'redux-thunk';
import reducers from './reducers';
import migration from './migrations';
import {packageJson} from 'utils/utils';
const persistConfig = {
key: 'root',
storage: AsyncStorage,
version: packageJson().reduxPersistVersion,
migrate: createMigrate(migration, {debug: __DEV__})
};
const persistedReducer = persistReducer(persistConfig, reducers);
const composeEnhancers = process.env.NODE_ENV !== 'production' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ : compose;
export const store = createStore(persistedReducer, composeEnhancers(applyMiddleware(Thunk)));
export const persistor = persistStore(store);
包.json
{
"name": "APPNAME",
"version": "APPVERSION",
"private": true,
"reduxPersistVersion": 8,
"scripts": {
"android": "react-native run-android",
"ios": "react-native run-ios",
"start": "react-native start",
"test": "jest",
"lint": "eslint ."
},
"dependencies": {
"@fortawesome/fontawesome-svg-core": "^1.2.30",
"@fortawesome/free-solid-svg-icons": "^5.14.0",
"@fortawesome/react-fontawesome": "^0.1.11",
"@fortawesome/react-native-fontawesome": "^0.2.5",
"@react-native-community/async-storage": "^1.11.0",
"@react-native-community/masked-view": "^0.1.10",
"prop-types": "^15.7.2",
"react": "16.13.1",
"react-native": "0.63.2",
"react-native-dash": "0.0.11",
"react-native-divider": "^1.0.3",
"react-native-dotenv": "^0.2.0",
"react-native-extended-stylesheet": "^0.12.0",
"react-native-gesture-handler": "^1.7.0",
"react-native-localization": "^2.1.6",
"react-native-reanimated": "^1.10.1",
"react-native-safe-area-context": "^3.1.1",
"react-native-screens": "^2.9.0",
"react-native-size-matters": "^0.3.0",
"react-native-spinkit": "^1.5.0",
"react-native-svg": "^12.1.0",
"react-native-svg-transformer": "^0.14.3",
"react-navigation": "^4.4.0",
"react-navigation-stack": "^2.8.2",
"react-redux": "^7.2.1",
"redux": "^4.0.5",
"redux-persist": "^6.0.0",
"redux-thunk": "^2.3.0"
},
"devDependencies": {
"@babel/core": "^7.10.5",
"@babel/runtime": "^7.10.5",
"@react-native-community/eslint-config": "^2.0.0",
"babel-jest": "^26.1.0",
"babel-plugin-module-resolver": "^4.0.0",
"eslint": "^7.5.0",
"jest": "^26.1.0",
"metro-react-native-babel-preset": "^0.61.0",
"react-test-renderer": "16.13.1"
},
"jest": {
"preset": "react-native"
}
}
babel.config.js
module.exports = {
presets: ['module:metro-react-native-babel-preset', 'module:react-native-dotenv'],
plugins: [
[
'module-resolver',
{
root: ['./src'],
alias: {
localization: "./src/localization",
utils: "./src/utils",
views: "./src/views",
components: "./src/components",
assets: "./src/assets",
reduxCore: './src/appRedux'
},
},
],
],
}
最佳答案
从 babel 别名中删除 'redux' 并运行 'react-native start --reset-cache'
关于javascript - 无法从 `../../../../src/redux` 解析模块 `node_modules\react-redux\lib\connect\mapDispatchToProps.js`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63223361/
我已经创建了自己的 npm 包,我们称它为 XYZ,它在 package.json 文件中具有 @material-ui 依赖项。 当我在项目 A 中安装它时,我在 XYZ 文件夹中嵌套了 node_
我遇到过这样一种情况:node_modules/@types 中的类型定义正在安装它自己的@types 依赖项,而这些“嵌套”@types 与我的顶级@types 冲突。 @types |-angul
当我 npm start 时出现此错误我的 react 项目。谁能解决这个问题? ./src/index.scss (./node_modules/css-loader/dist/cjs.js??re
我正在尝试使用 CopyWebpackPlugin 将一些文件从我的 node_modules 文件夹复制到我的构建文件夹中。 new CopyWebpackPlugin([ { from: 'n
我正在尝试使用 CopyWebpackPlugin 将一些文件从我的 node_modules 文件夹复制到我的构建文件夹中。 new CopyWebpackPlugin([ { from: 'n
我正在将一个项目从使用 Grunt 迁移到使用 Webpack。这个项目使用 jQuery。我注意到捆绑代码工作正常,即使我还没有将 jQuery 添加到 package.json,这看起来很奇怪。
当我在本地安装时,将我的模块两个父项放在我的项目文件夹之上。为什么会这样? 谢谢! 最佳答案 手动将 node_modules 文件夹扔进去就可以了 关于javascript - npm 在../..
我遇到了这个问题..有人有想法..那是什么意思.?想在我的本地机器上启动我的应用程序。但医生的工作方式。我在这里用模块或注释和 bcrypt 卡住?有人有解决这个问题的想法吗?为什么会出现这个问题。?
我最近发现了 ack 和 ack -ir --ignore-dir={node_modules,dist,.git} 对大多数事情都很好,但是这个 ---node_modules/ ---------
我在部署 netlify 时遇到问题,有些冲突我不明白。我尝试清除缓存、重建基础、重建包、在 netlify 上重新部署、重新安装 mini-CSS-extract-plugin。 调试 Netlif
我是 NodeJS 的新手,想使用 Sequelize。 我在新的 CentOS7 虚拟机上安装了 PostgreSQL 和 Node。 node -v v10.14.1 npm -v v6.5.0
我安装了 npm,当我第一次执行 sudo npm install some-package -g 时,它按照我的预期将该包安装到/usr/lib/node_modules,但随后它还在~/.npm。
我刚刚创建了一个带有“验证器”依赖项的 Node 模块。但是当我从 npm 安装它时,它不会在它自己的 node_module 目录中安装“验证器”模块。我不明白为什么,但这是我第一次创建自己的 No
我正在尝试使用 npm install packagename 将软件包安装到项目中.然后安装继续安装到 /home/myusername/node_modules/packagename/node_
我正在尝试构建我的 angular 项目并出现以下错误: Build Command: node --max_old_space_size=8192 node_modules/@angular/cli
我正在通过自制软件安装星舰,但出现此错误: Permission denied @ apply2files - /usr/local/lib/node_modules/expo-cli/node_mo
我试图在 Windows 10 中运行一个 Angular 项目。这与我在 Ubuntu 中执行的项目相同。当我克隆存储库并安装所有 Node 包时,我遇到了这个错误。 ERROR in./node_
我跑npm init npm i -D jest像这样 tutorial 运行推荐 nmp test 后出现此错误 这不是生物.js 或生物.test.js 的错误,因为没有发生此文件错误。我怎样才能
我刚刚将 npm 更新到 5.4.0。 现在,每当我想安装 npm 包时,我都会收到以下错误: D:\Sources\DownloadCms\Md.Download\Web.Angular>npm i
我正在尝试使用 npm 命令安装 appium。 每次尝试我都会遇到错误。 在最后一次尝试中,我引用了以下链接: node-gyp build error windows x64 为了在我的 Wind
我是一名优秀的程序员,十分优秀!