拒绝执行JSXBabel?
我开始学习 React 并尝试运行此页面,但我发现了这个错误:拒绝执行来自“https://unpkg.com/browse/babel-standalone@6.26.0/babel.min.js”的脚本,因为它MIME 类型 ('text/html') 不可执行,并且启用了严格的 MIME 类型检查。任何人都可以帮助我吗?
<!DOCTYPE html>
<html lang="en">
<head>
<title> React work </title>
<meta charset="utf-8" >
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<script crossorigin src="https://unpkg.com/react@16/umd/react.production.min.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js"></script>
<script crossorigin src="https://unpkg.com/browse/babel-standalone@6.26.0/babel.min.js"></script>
</head>
<body>
<div id='react-root'></div>
<script type="text/babel">
class Bonjour extends React.Component
{
render()
{
return (
<h1> Hello from React </h1>
)
}
}
ReactDOM.render(
<Bonjour/>,
document.getElementById('react-root')
)
</script>
</body>
</html>
回答
你的链接错了。/browse 是:
https://unpkg.com/browse/babel-standalone@6.26.0/babel.min.js
这是一个网页,而不是一个.js
文件。单击“查看原始”按钮以访问纯 JS:
https://unpkg.com/babel-standalone@6.26.0/babel.min.js
改用它,你会得到:
<script crossorigin src="https://unpkg.com/react@16/umd/react.production.min.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js"></script>
<script crossorigin src="https://unpkg.com/babel-standalone@6.26.0/babel.min.js"></script>
<div id='react-root'></div>
<script type="text/babel">
class Bonjour extends React.Component
{
render()
{
return (
<h1> Hello from React </h1>
)
}
}
ReactDOM.render(
<Bonjour/>,
document.getElementById('react-root')
)
</script>
但是,建议 - 如果可能,仅使用 Babel Standalone 进行调试。对于真正的应用程序,一旦它们准备好供公众使用,最好自己转译 JSX,然后将其提供给客户端。(Babel Standalone 让客户端自己转译代码,这需要相当多的开销)