import语句给出语法错误,指出“无法在模块外部使用import语句”

时间:2020-05-26 00:33:55

标签: javascript html reactjs dom

我是Web开发的新手,这只是我用来测试安装的新文本编辑器而创建的简单代码,尝试导入react时出现此错误,因为我遇到了其他一些错误,例如; TypeError:无法读取未定义的属性'createElement'

请,我该如何解决?导入语句有误吗?

import React, { Fragment } from 'react';
console.log("Testing");
var document;//made this declaration because I got a document undefined error
 document.createElement("p"):
const p = document.createElement("p")

p.innerHTML = "This is to test the javascript";
const body = document.querySelector("body");

body.insertBefore(p,body.childNode[-1]);
<!DOCTYPE html>
<html>
<head>
  <title>Testing vs code</title>
  <link rel="stylesheet" type="text/css" href="styles.css"/>
  
</head>

<body>
  <h1>Testing the vscode html preview package</h1>
  <h2>Hello</h2>
  <script type="module" src="js-prac.js"></script>
</body>
</html>

3 个答案:

答案 0 :(得分:0)

根据https://reactjs.org/docs/add-react-to-a-website.html,您需要在导入脚本之前将这两行添加到HTML文件中:

<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>

我不确定,如果不使用诸如Create React App之类的模块,模块加载就可以按照您的预期进行。您可以删除导入语句,并且仍然可以在脚本中引用React和ReactDOM。

例如

'use strict';

const e = React.createElement;

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

  render() {
    if (this.state.liked) {
      return 'You liked comment number ' + this.props.commentID;
    }

    return e(
      'button',
      { onClick: () => this.setState({ liked: true }) },
      'Like'
    );
  }
}

// Find all DOM containers, and render Like buttons into them.
document.querySelectorAll('.like_button_container')
  .forEach(domContainer => {
    // Read the comment ID from a data-* attribute.
    const commentID = parseInt(domContainer.dataset.commentid, 10);
    ReactDOM.render(
      e(LikeButton, { commentID: commentID }),
      domContainer
    );
  });

答案 1 :(得分:0)

我了解您想使用React创建一个简单的应用程序。我建议您先阅读此https://kentcdodds.com/blog/how-to-react,然后再阅读:https://reactjs.org/tutorial/tutorial.html

可以通过在开始时导入脚本来创建React应用程序,但这不是构建React应用程序的推荐方法。

阅读完以上文章后,可以在所选博客或基于视频的平台上找到一个不错的教程。我可以举几个例子,例如udemy,前端大师,复数形式,还有更多。

答案 2 :(得分:0)

看看ReactJS website

您应该使用 Node package manager 创建React应用 npx create-react-app appName

或应将react脚本链接到您的html

<script src="https://unpkg.com/react@16/umd/react.development.js"></script> 
<script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>

您也无法重新定义文档对象。这引用了您的网页,您可以使用文档对象访问元素或DOM(文档对象模型)。