gpt4 book ai didi

javascript - 未捕获的语法错误 : Unexpected identifier when trying to import React

转载 作者:行者123 更新时间:2023-12-01 01:41:49 26 4
gpt4 key购买 nike

我有一个简单的 React 组件,我正在尝试将其合并到网页中。该组件如下所示(在文件 like_button.js 中)。我正在使用 babel v6.4.1 编译这个 JSX。

'use strict';

import React, {Component} from 'react';

const e = React.createElement;

class LikeButton extends Component {
constructor(props) {
super(props);
this.state = { liked: false };
}

render() {
if (this.state.liked) {
return 'You liked this.';
}

return (
<button onClick={() => this.setState({ liked: true })}>
Like
</button>
);
}
}

const frmReg = document.querySelector('#frmReg');
ReactDOM.render(e(LikeButton), frmReg)

我尝试使用它的 HTML 页面 (index.php) 如下所示。

<html>
<head>
<script src="https://unpkg.com/react@16/umd/react.development.js" crossorigin></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js" crossorigin></script>
<!-- Load our React component. -->
</head>
<body>
<div id="frmReg"></div>
</body>
<!-- <script src="assets/js/like_button.js"></script> -->
<script src="assets/js/admincomponent.js"></script>
</html>

我的 package.json 文件如下所示。

{
"name": "react_dt",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"babel": "^6.5.2",
"babel-cli": "^6.9.0",
"babel-plugin-transform-es2015-modules-amd": "^6.24.1",
"babel-preset-env": "^1.7.0",
"babel-preset-es2015": "^6.24.1",
"babel-preset-react": "^6.24.1"
}
}

还包含了 .babelrc 包含在项目根目录中,如下所示。

{
presets: ["es2015", "react"],
plugins: ["transform-es2015-modules-amd"]
}

但是,当我尝试在浏览器中运行它时,我在页面中看不到任何东西。此外,在开发工具控制台中,我遇到错误 Uncaught SyntaxError: Unexpectedidentifier,其中突出显示了 import React, { Component } from 'react'; 语句。

我在没有导入语句的情况下尝试了相同的操作,并且让它完美地工作。所以基本上它可以归结为导入问题。经过研究,我发现这是从 ES5ES6(ES2015) 的问题。此外,我在同一个问题上发现了大约 5 个奇怪的问题,但他们的解决方案都没有帮助我找到解决方案。

出了什么问题?为什么它不让我导入?

最佳答案

请安装reactreact-dom包。当您导入包时,意味着包已安装在 node_modules 中。它将在 node_modules 文件夹中搜索包,如果找不到则显示错误。

您是否使用 babel 编译 javascript 文件?请在项目中使用babel编译的javascript。您可以使用babel-node用于将 javascript 编译为 es5

关于javascript - 未捕获的语法错误 : Unexpected identifier when trying to import React,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52329868/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com