语法错误:当前未启用对实验性语法“jsx”的支持

IT技术 reactjs npm-publish
2021-05-21 20:09:54

我无法使用我创建的 npm 组件包。我已经成功发布了该包,但是当我在新代码中使用它时,它显示此错误“SyntaxError: /home/trinndra/Desktop/react-test/node_modules/iconbox1/index.js: Support for the Experimental syntax 'jsx ' 当前未启用 (6:17)"

我的包名:“iconbox1”

我的 npm 包代码在这里:

import React,{Component} from "react"

class Welcome extends Component{
    render(){
        return (
                <input type="text" placeholder="Your name"></input>
        )
    }
}

module.exports.Welcome = Welcome;

我在我的主应用程序中使用它:

import logo from './logo.svg';
import './App.css';
import {Welcome} from "iconbox1"


function App() {
  return (
    <div className="App">
      <Welcome></Welcome>
    </div>
  );
}

export default App;

在此处输入图片说明

2个回答

最好不要混用 ES5 和 ES6。这可能是因为您导出组件的方式。

  • 您的应用组件中缺少 render(){} 函数。
  • 尝试使用 export {Welcome} 或 export default Welcome 导出您的欢迎组件,但如果您使用第二个选项,请确保删除应用组件中欢迎使用的括号

您使用 ES6 和 ES5 语法进行导入和导出。

试试这个代码,这是输出的屏幕截图它对我有用

检查文件名是否为iconbox1

import React,{Component} from "react"

class Welcome extends Component{
    render(){
        return (
                <input type="text" placeholder="Your name"></input>
        )
    }
}

export default Welcome;
// import logo from './logo.svg';
import './App.css';
import Welcome from "./iconbox1"


function App() {
  return (
    <div className="App">
      <Welcome></Welcome>
    </div>
  );
}

export default App;