微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Webpack/Babel/React 项目中的“当前未启用对实验性语法 'jsx' 的支持”

如何解决Webpack/Babel/React 项目中的“当前未启用对实验性语法 'jsx' 的支持”

我目前正在将一个包从 rollup 转换为 webpack,并且在它不喜欢 react/jsx 组件的每个角落都遇到了这个错误。这仍然是实验性技术还是我遗漏了一些明显的东西?如果我能澄清任何事情,请告诉我。预先感谢您的帮助/解答。

错误

int a = (int) Math.floor(one*1000);
int b = (int) Math.floor((two*1000));

    if(a == b){
        System.out.println(true);
        System.out.println(a + "---" + b);
        return true;
    }
    else

        System.out.println(false);
    System.out.println(a + "---" + b);
    return false;

babel.config.js

Add @babel/preset-react (https://git.io/JfeDR) to the 'presets' section of your Babel config to enable transformation.
If you want to leave it as-is,add @babel/plugin-Syntax-jsx (https://git.io/vb4yA) to the 'plugins' section to enable parsing.

webpack.config.js

module.exports = function () {
  const presets = [
    "@babel/preset-react","@babel/preset-env"
  ];
  const plugins = [
    "@babel/plugin-transform-react-jsx","@babel/plugin-Syntax-jsx",{
      "loose": true
    }
  ]

  return {
    presets,plugins
  };
}

package.json

var path = require('path');

module.exports = {
  entry: path.resolve(__dirname,'./src/index.js'),output: {
    path: path.resolve(__dirname,'build'),filename: 'bundle.js'
  },module: {
    rules: [{
      test: /\.(js|jsx)$/,exclude: /node_modules/,loader: 'babel-loader',options: {
        presets: [
          ["@babel/preset-env",{ modules: "commonjs" }],"@babel/preset-react"
        ],plugins: [
          "@babel/plugin-Syntax-jsx","@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-Syntax-dynamic-import","@babel/plugin-transform-runtime","@babel/plugin-transform-react-jsx"
        ]
      }
    }]
  },};

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。