webpack打包react项目,只要import “redux”就报错

新手上路,请多包涵
    import React from "react";
    import ReactDOM from "react-dom";
    // import {createStore} from "redux";
    // import {Provider} from "react-redux";
    
    import App from "./App.js";
    import reducer from "./reducers/index.js"
    // let store  = createStore(reducer);
    
    ReactDOM.render(
    // <Provider store={store}>
    //     <App></App>
    // </Provider>
    <App></App>
    ,
    document.getElementById("app-container")
)

以上代码,用webpack打包后可以正常编译,并在浏览器运行显示app组件内容。
但是只有导入import {createStore} from "redux"或者// import {Provider} from "react-redux";
//去掉redux的导入就正常,导入redux就出问题,因为无redux可以正常编译,可以排除一些可能

 import React from "react";
    import ReactDOM from "react-dom";
    // import {createStore} from "redux";
    import {Provider} from "react-redux";
    
    import App from "./App.js";
    import reducer from "./reducers/index.js"
    // let store  = createStore(reducer);
    
    ReactDOM.render(
    // <Provider store={store}>
    //     <App></App>
    // </Provider>
    <App></App>
    ,
    document.getElementById("app-container")
)

图片描述

阅读 2.5k
3 个回答

应该是babel配置不正确导致的

在.babelrc中

{
    "presets": [[
        "@babel/preset-env"
    ]],
    "plugins": [
        "@babel/plugin-proposal-object-rest-spread",
        [
            "@babel/plugin-transform-runtime",
            {
                "helpers": false,
                "regenerator": true
            }
        ],
        ["es6-promise"]
    ]
}

对应的package.json也要修改

"@babel/core": "^7.0.0",
        "@babel/plugin-proposal-object-rest-spread": "^7.0.0",
        "@babel/plugin-syntax-dynamic-import": "^7.0.0",
        "@babel/plugin-transform-runtime": "^7.0.0",
        "@babel/preset-env": "^7.0.0",
        "@babel/preset-es2015": "^7.0.0-beta.53",
        "@babel/preset-stage-3": "^7.0.0",
        "@babel/runtime": "^7.0.0",

看你的错误提示的话,需要安装babel-transfrom-object-rest-spread,并在.babelrc中加入"plugins": ["transfrom-object-rest-spread"]

你的webpack babel-loader怎么配置的?

猜测可能是尝试去编译node_modules中的代码了,导致node_modules中声明的插件你找不到报错

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题