简体   繁体   English

Babel-Loader Error Plugin/Preset 文件不允许导出对象,只能导出函数

[英]Babel-Loader Error Plugin/Preset files are not allowed to export objects, only functions

After updating all my outdated npm packages to @latest , my electron app fails to start, giving the error将所有过时的npm包更新为@latest ,我的电子应用程序无法启动,出现错误

ERROR in ./src/index.js [0] Module build failed (from ./node_modules/babel-loader/lib/index.js): [0] Error: Plugin/Preset files are not allowed to export objects, only functions. ./src/index.js 中的错误 [0] 模块构建失败(来自 ./node_modules/babel-loader/lib/index.js):[0] 错误:插件/预设文件不允许导出对象,只能导出函数. In /Users/nyxynyx/foobar/node_modules/babel-preset-stage-0/lib/index.js在 /Users/nyxynyx/foobar/node_modules/babel-preset-stage-0/lib/index.js

Any idea what went wrong?知道出了什么问题吗? Thank you everyone!谢谢大家!

.babelrc .babelrc

{
  "presets": ["env", "stage-0", "react"],
  "plugins": [
    "babel-plugin-styled-components",
    "react-hot-loader/babel",
    ["transform-class-properties", { "loose": true }]
  ]
}

package.json (dependencies & devDependencies) package.json(依赖项和 devDependencies)

"dependencies": {
    "@fortawesome/fontawesome-svg-core": "^1.2.21",
    "@fortawesome/free-solid-svg-icons": "^5.10.1",
    "@fortawesome/react-fontawesome": "^0.1.4",
    "babel-core": "^6.26.3",
    "babel-eslint": "^10.0.2",
    "babel-loader": "^8.0.6",
    "babel-plugin-styled-components": "^1.10.6",
    "babel-plugin-transform-class-properties": "^6.24.1",
    "babel-polyfill": "^6.26.0",
    "babel-preset-env": "^1.7.0",
    "babel-preset-react": "^6.24.1",
    "babel-preset-stage-0": "^6.24.1",
    "babel-register": "^6.26.0",
    "bootstrap": "^4.3.1",
    "css-loader": "^3.2.0",
    "electron-log": "^3.0.7",
    "electron-updater": "^4.1.2",
    "file-loader": "^4.2.0",
    "firebase": "^6.3.4",
    "fix-path": "^2.1.0",
    "json-loader": "^0.5.7",
    "lodash": "^4.17.15",
    "menubar": "^6.0.7",
    "prop-types": "^15.7.2",
    "react": "^16.8.6",
    "react-redux": "^7.1.0",
    "react-redux-firebase": "^2.3.0",
    "reactstrap": "^8.0.1",
    "redux": "^4.0.4",
    "redux-thunk": "^2.3.0",
    "style-loader": "^1.0.0",
    "styled-components": "^4.3.2",
    "typeface-open-sans": "0.0.75",
    "url-loader": "^2.1.0"
  },
"devDependencies": {
    "concurrently": "^4.1.1",
    "devtron": "^1.4.0",
    "electron": "^6.0.1",
    "electron-builder": "^21.2.0",
    "electron-debug": "^3.0.1",
    "electron-devtools-installer": "^2.2.4",
    "eslint": "^6.1.0",
    "eslint-config-airbnb": "^17.1.1",
    "eslint-import-resolver-webpack": "^0.11.1",
    "eslint-plugin-import": "^2.18.2",
    "eslint-plugin-jsx-a11y": "^6.2.3",
    "eslint-plugin-react": "^7.14.3",
    "express": "^4.17.1",
    "react-dom": "^16.8.6",
    "react-hot-loader": "^4.12.10",
    "react-router": "^5.0.1",
    "react-router-dom": "^5.0.1",
    "stylelint": "^10.1.0",
    "stylelint-config-standard": "^18.3.0",
    "uglifyjs-webpack-plugin": "^2.2.0",
    "webpack": "^4.39.1",
    "webpack-dev-middleware": "^3.7.0",
    "webpack-hot-middleware": "^2.25.0",
    "webpack-merge": "^4.2.1"
  },

Using node v12.6.0 on Mac OS X Mojave 10.14.5在 Mac OS X Mojave 10.14.5 上使用 node v12.6.0

I am moving my answer from comment due to lack of space there :)由于那里缺乏空间,我正在从评论中删除我的答案:)

Try using new packages for babel-core, babel-register and presets, replacing the old ones since they are depricated (babel-core, babel-presets-env, etc):尝试为 babel-core、babel-register 和 presets 使用新的包,替换旧的包,因为它们已被弃用(babel-core、babel-presets-env 等):

@babel/core - https://www.npmjs.com/package/@babel/core , @babel/core - https://www.npmjs.com/package/@babel/core

@babel/presets-env - https://babeljs.io/docs/en/babel-preset-env , @babel/presets-env - https://babeljs.io/docs/en/babel-preset-env

@babel/presets-react - https://babeljs.io/docs/en/babel-preset-react , @babel/presets-react - https://babeljs.io/docs/en/babel-preset-react

@babel/presets-stage-0 https://babeljs.io/docs/en/babel-preset-stage-0 , @babel/presets-stage-0 https://babeljs.io/docs/en/babel-preset-stage-0

@babel/polyfill - https://babeljs.io/docs/en/babel-polyfill and @babel/polyfill - https://babeljs.io/docs/en/babel-polyfill

@babel/register - https://babeljs.io/docs/en/babel-register . @babel/register - https://babeljs.io/docs/en/babel-register

Then try deleting package.lock, and running again npm i .然后尝试删除 package.lock,并再次运行 npm i 。 If that is not helping you can also try deleting node_modules folder, and running npm i again如果这没有帮助,您也可以尝试删除 node_modules 文件夹,然后再次运行 npm i

That is due to outdated babel packages being used.这是由于使用了过时的 babel 包 The babel project, just like most other active Javascript projects, have moved on to using scope packages. babel 项目,就像大多数其他活跃的 Javascript 项目一样,已经转向使用范围包。 Hence, the package names starts with @babel因此,包名以@babel

Check this to fix issue检查这个以解决问题

babel-preset-env / babel-preset-react packages are deprecated. babel-preset-env / babel-preset-react包已被弃用。 use @babel/preset-env and @babel/preset-react packages.使用@babel/preset-env@babel/preset-react包。

And do the following change in .babelrc :并在.babelrc进行以下更改:

"presets": ["@babel/env", "@babel/react"]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Babel错误:插件/预设文件不允许导出对象,仅可导出功能 - Babel Error: Plugin/Preset files are not allowed to export objects, only functions 错误:插件/预设文件不允许导出对象,只能导出功能/ babel-preset-stage-0 - Error:Plugin /Preset files are not allowed to export objects,only functions/babel-preset-stage-0 Babel Plugin/Preset 文件不允许导出对象,只能导出函数 - Babel Plugin/Preset files are not allowed to export objects, only functions gulp-babel插件错误:不允许插件/预设文件导出对象,仅导出功能 - Error in plugin gulp-babel: Plugin/Preset files are not allowed to export objects, only functions 出现“错误:插件/预设文件不允许导出对象,只能导出功能。” 来自 babel-preset-react-app/index.js - Getting "Error: Plugin/Preset files are not allowed to export objects, only functions." from babel-preset-react-app/index.js 反应错误:不允许插件/预设文件导出对象,仅导出功能 - error on react: Plugin/Preset files are not allowed to export objects, only functions 用graphql开玩笑,“插件/预设文件不允许导出对象,只能导出功能” - Jest with graphql, “Plugin/Preset files are not allowed to export objects, only functions” “ npm start”抛出错误:不允许插件/预设文件导出对象,仅导出功能 - “npm start” throws Error: Plugin/Preset files are not allowed to export objects, only functions 错误:插件/预设文件不允许导出对象,只能导出功能。 ReactJS - Error: Plugin/Preset files are not allowed to export objects, only functions. ReactJS 使用 JEST 和 Vue.js 失败“插件/预设文件不允许导出对象,只能导出函数。” - Fail with JEST and Vue.js "Plugin/Preset files are not allowed to export objects, only functions."
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM