在没有npm的情况下运行React.js(仅限本地React.js文件或CDN)

时间:2018-04-02 18:03:38

标签: javascript html reactjs

我想只使用React.js脚本的本地副本设置React.js应用程序,或者只使用正确的CDN链接。 React仅在CDN链接中注册,而不是在本地存储的React.js脚本副本中注册。这是为什么? 其次,尽管在仅使用CDN链接时注册了React,但我的元素不会呈现。为什么不?我别无选择,只能使用NPM来安装所有东西吗?

<html>

<head>
    <meta charset="UTF-8">
    <title>First App</title>
</head>

<body>
    <div id="app"></div>

    <!-- This works (React is registering) -->
    <script crossorigin src="https://unpkg.com/react@16/umd/react.development.js"></script>
    <script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>

    <!-- This doesn't (React is NOT registering) -->
    <!-- <script type="../scripts/react.development.js"></script> -->
    <!-- <script type="../scripts/react.dom.js"></script> -->

<script>
console.log('App.js is running!');
var Template = React.createElement(
  "h1",
  { id: "someid" },
  "This is JSX from app"
)
// Identifying the element by id
var AppRoot = document.getElementById('app')

ReactDOM.render(Template, AppRoot)

</script>
</html>

2 个答案:

答案 0 :(得分:1)

好的,我在我的mashine上运行你的代码,第一次真的很难检测到错误。您的脚本属性为type,而不是src。有正确的变体:

<!-- This doesn't (React is NOT registering) -->
<script src="../scripts/react.development.js"></script>
<script src="../scripts/react.dom.js"></script>

如果您下载了正确的文件,它应该可以正常工作。

答案 1 :(得分:0)

使用<script src="../scripts/react.development.js"></script>

另请注意../指父目录./scripts如果脚本文件夹在包含HTML的同一文件夹中