【发布时间】:2019-05-01 01:09:38
【问题描述】:
我在这里遵循了这个答案:
但是编译我的浏览器(Firefox 67)后说:
语法错误:导入声明只能出现在模块的顶层
我的 app.jsx 看起来像:
import React from 'react';
import ReactDOM from 'react-dom';
class Alpha extends React.Component {render() { return <h1>Hello</h1>; }}
ReactDOM.render(<Alpha />, document.getElementById('root'));
.babelrc:
{
"presets": ["@babel/preset-react"]
}
index.html
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<div id="root"></div>
<script src="js/dashboard.js"></script>
</body>
</html>
使用 babel-cli 编译
这是为什么呢?他们说较新的浏览器支持 es6 导入。
试过了:
... type="module"></script>
结果:
TypeError:解析模块说明符时出错:react
【问题讨论】:
-
我的第一个想法是:stackoverflow.com/a/46415925/3000068。这能回答你的问题吗?
-
getting: TypeError: Error resolve module specifier: react
-
浏览器不像 node.js,不能解析路径名,.. 所以你可能需要做
import React from './react';代替,假设你的反应文件在同一个目录中,或者可能是import React from '/lib/react'等等。 -
跨域请求被阻止:同源策略不允许读取文件中的远程资源:...
-
您似乎在没有反馈的情况下被否决了。如果有帮助,我可以尝试理解并解释。我想他们期望的一件事是在任何其他信息之前直接提出问题。例如,问题的标题或第一行可以说“如何为场景 xyz 配置 React 构建?”或者,“如何修复 React 语法错误 xyz?”等。如果您不介意为此尝试编辑,我很乐意通过 +1 支持您的努力。感谢您的耐心等待。
标签: javascript reactjs