当前位置: 首页 > 知识库问答 >
问题:

尝试将redux集成到react应用中。Webpack被store.js噎住了

陈康胜
2023-03-14

我正在尝试将redux集成到现有的react应用程序中。我所有的react代码都在jsx文件中。现在,我将介绍redux和store.js。在编译过程中,store.js上一个预期的令牌错误上的webpack错误

网络包.配置. js

var webpack = require('webpack');
var path = require('path');

var BUILD_DIR = path.resolve(__dirname, 'project/static/public/js');
var APP_DIR = path.resolve(__dirname, 'project/static/public/js/components');


module.exports = {
  entry: APP_DIR + '/App.jsx',
  output: {
    path: BUILD_DIR,
    filename: 'bundle.js'
  },
  resolve: {
    alias: {
      'react': path.join(__dirname, 'node_modules', 'react')
    }
  },
  module : {
    loaders : [
      {
        test : /\.jsx/,
        include : APP_DIR,
        loader : 'babel',
        presets : ['es2015']
      },
      {
        test : /\.js/,
        include : BUILD_DIR,
        exclude : /bundle.js||bundle.js.map||node_modules/,
        loader : 'babel',
        presets : ['es2015']
      }
    ]
  },
  watchOptions: {
    poll: true
  }

};

.babelrc

{
  "presets": [
    "es2015",
    "react"
  ],
  "env": {
    "start": {
      "presets": [
        "react-hmre"
      ]
    }
  },
  "plugins": [
      ["transform-es2015-arrow-functions", { "spec": true }],
      ["transform-class-properties"]
    ]
}

商店. js

import { applyMiddleware, createStore} from 'redux';
import combineReducers from './reducers/index.js'


export default createStore(combineReducers)

出错信息

./project/static/public/js/store中的错误.js模块解析失败:/home/username/git/project/project/static/public/js/store.js第 1 行:

意外令牌您可能需要一个适当的加载程序来处理此文件类型。|从'redux'导入{ApplyMiddleware, createStore};|从'./减速机/index.js导入组合减速机' | @ ./项目/静态/公共/js/组件/应用程序.jsx 15:13-32

这些文件在尝试解析和更好地理解 redux 时经历了多次迭代。我认为问题出在我的网络包配置上。

共有1个答案

汪典
2023-03-14

您使用的是哪个版本的Babel?我猜您需要在webpack规则中使用babel-loader。此配置适用于Babel 7和Webpack 4。

网络包规则:

      {
        test: /\.js$/,
        include : BUILD_DIR,
        exclude : /bundle.js||bundle.js.map||node_modules/,
        use: {
          loader: 'babel-loader',
        },
      },
 类似资料:
  • React-babel-webpack-es6 Starter Project A boilerplate using React, webpack and hot module reloading, and ES6 + JSX via Babel.You could use it as a base to build your own web app. Features The provided

  • 我试图将我从选择语句中得到的所有错误插入到错误表中,但我无法做到这一点。 现在我想看到我的表中的所有错误以及表中正确的所有一次,但我没有得到这个工作? 源系统的数据类型是,我的列是,因为值应该只有INT…所以这是源系统的糟糕设计?

  • 问题内容: 我正在尝试将安装程序的生成集成为Maven编译过程的一部分。 我发现Alakai的插件为Launch4j。我已经使用Maven创建了一个简单的Hello World应用程序。我尝试使用Alakai提供的配置示例,但是在编译项目时,我得到: 无法在项目Launch4j上执行目标org.bluestemsoftware.open.maven.plugin:launch4j-plugin:1

  • 和 Flux 类似,Redux 也是需要注册一个回调函数 store.subscribe(listener) 来获取 State 的更新,然后我们要在 listener 里面调用 setState() 来更新 React 组件。 Redux 官方提供了 react-redux 来简化 React 和 Redux 之间的绑定,不再需要像 Flux 那样手动注册/解绑回调函数。 接下来看一下是怎么做到

  • 我对投球的尝试/接球感到困惑。函数中有两个可能的IOExceptions。一,我想抓住并继续。另一个我想抛出一个异常让前面的函数处理。 如果IOException无法打开文件,我想捕获它,通知用户,然后继续。如果清除目录时出现IOException,我想抛出一个异常并在调用代码中处理它。

  • 问题内容: 我一直在开发React应用程序,现在我需要Redux来处理它的某些方面。 阅读了一堆教程之后,我相当着迷于如何使“更智能”的组件“笨拙”以及如何将功能移入我的动作和化简器中。 因此,例如,应用程序的一个方面更多是待办事项列表样式。 我的课程之一是这样开始的: 因此,如您所见,这是非常繁重的逻辑。我已经开始通过在索引文件中添加来添加Redux ,并制作了一个基本的reducers文件,该

  • 我想把Google Analytics Tracking集成到我的IOS应用程序中。 我已经集成了谷歌分析库,并将其添加到我的应用程序中。 以跟踪我的视图联系人 A出现以下错误:“在类型为'ContactViewController'的对象上找不到属性'TrackPageView'”

  • 问题内容: 我目前正在学习React,并且试图弄清楚如何与Redux一起使用它来构建移动应用程序。我对两者如何关联/一起使用感到困惑。例如,我在React https://www.raywenderlich.com/99473/introducing-react-native-building-apps- javascript中 完成了本教程,但现在我想尝试在该应用中添加一些reducers /