首页 > 解决方案 > 尝试使用 babel-plugin-proposal-class-properties 时使用 .babelrc 的语法加倍

问题描述

全部,

我试图在我的代码包中包含 babel-plugin-proposal-class-properties,但出现以下错误;

2020-01-07 08:19:31.593 [错误][tid:NSOperationQueue 0x2817acc40 (QOS: UNSPECIFIED)][RCTCxxBridge.mm:414] 加载包失败( http://169.254.99.36:8081/index.bundle? platform=ios&dev=true&minify=false ) 有错误:(index.js: 找不到模块 'babel-plugin-plugin-proposal-class-properties' from '/Users/bburch/Projects/systems/SystemsDockConfig' - 你的意思是“ @babel/plugin-proposal-class-properties"? (null))

我的 .babelrc 看起来像;

{   "presets": [
    "@babel/env",
    "@babel/react",   ],   "plugins": ["proposal-class-properties",] }

我也尝试过这种语法;

{
  "presets": [
    "@babel/preset-env",
    "@babel/preset-react"
  ],
  "plugins": ["@babel/plugin-proposal-class-properties"]
}

在任何一种情况下,包名称的“插件”部分都会以某种方式加倍,当然,发生这种情况时找不到模块。

我的 package.json;

{
  "name": "SystemsDockConfig",
  "version": "0.0.2",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  },
  "dependencies": {
    "@babel/plugin-proposal-class-properties": "^7.7.4",
    "@babel/plugin-syntax-object-rest-spread": "^7.7.4",
    "@babel/preset-env": "^7.7.7",
    "buffer": "^5.0.7",
    "eslint": "^6.8.0",
    "eventemitter3": "^4.0.0",
    "native-base": "^2.13.8",
    "react": "16.8.3",
    "react-native": "0.59.10",
    "react-native-ble-plx": "1.1.0",
    "react-native-camera": "^1.0.0",
    "react-native-router-flux": "^4.0.6",
    "react-native-version-number": "^0.3.1",
    "react-native-wheel-datepicker": "^2.1.8"
  },
  "devDependencies": {
    "@babel/core": "^7.6.4",
    "@babel/runtime": "^7.6.3",
    "babel-jest": "^24.9.0",
    "jest": "^24.9.0",
    "metro-react-native-babel-preset": "^0.56.0",
    "react-test-renderer": "16.8.3"
  },
  "jest": {
    "preset": "react-native"
  }
}

标签: iosreactjssyntaxbabeljs

解决方案


我建议您将 .babelrc 更改为 babel.config.json 并使用{ 确保安装

npm i --save-dev @babel/plugin-proposal-class-properties

这应该可以工作 bable.config.json

{
    "presets": ["@babel/preset-env", "@babel/preset-react"],
        "plugins": [

            "@babel/plugin-proposal-class-properties"
        ]
}

推荐阅读