簡體   English   中英

反應錯誤:不允許插件/預設文件導出對象,僅導出功能

[英]error on react: Plugin/Preset files are not allowed to export objects, only functions

我正在嘗試安裝新的React項目,但是遇到了一些問題。

現在,在解決了許多問題之后,我陷入了這個問題:

 ERROR in ./script.jsx
Module build failed (from ./node_modules/babel-loader/lib/index.js):
Error: Plugin/Preset files are not allowed to export objects, only functions. In D:\react_project\node_modules\babel-preset-es2015\lib\index.js

在安裝@ babel / core版本7后,我遇到了此問題。

這是我的package.json

{
  "name": "react_project",
  "version": "1.0.0",
  "description": "first project on react",
  "main": "index.js",
  "scripts": {
    "it": "webpack-dev-server --hot"
  },
  "author": "azima",
  "license": "ISC",
  "devDependencies": {
    "@babel/core": "^7.0.0",
    "babel-core": "^6.26.3",
    "babel-loader": "^8.0.1",
    "babel-preset-es2015": "^6.24.1",
    "babel-preset-react": "^6.24.1",
    "webpack": "^4.17.1",
    "webpack-dev-server": "^3.1.7"
  },
  "dependencies": {
    "react": "^16.4.2",
    "react-dom": "^16.4.2",
    "webpack-cli": "^3.1.0"
  }
}

webpack.config.js:

var path = require('path');
module.exports = {
    entry: './script.jsx',
    output: {
        path: path.resolve(__dirname,''),
        filename: 'transpiled.js'
    },
    module: {
        rules: [
            {
                test: /\.jsx?$/,
                loaders: 'babel-loader',
                exclude: /node_modules/,
                query: {
                    presets: ['es2015', 'react']
                }   
            }   
        ]
    }
}

錯誤是什么意思,我該如何解決?

抱歉,我之前沒有看到這個問題,但這是問題所在和解決方案: "babel-loader": "^8.0.1""@babel/core": "^7.0.0" Babel 7轉移到有作用域的軟件包,並在插件API中引入了一些更改,因此您的問題是您將新舊Babel混合使用。

不再需要babel-preset-es2015 ,因為這里有一個@babel/preset-env ,它可以根據目標平台處理您可能需要的所有新功能(請參閱鏈接以獲取配置選項)。

babel-preset-react (babel v6預設)現在為@babel/preset-react (v7預設)。

現在,您的webpack加載器配置應如下所示:

{
    test: /\.jsx?$/,
    loader: 'babel-loader',
    exclude: /node_modules/,
    options: {
        presets: ['@babel/preset-env', '@babel/preset-react']
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM