可以在浏览器中响应加载外部库吗?



当我在浏览器中加载反应时,我无法"npm 安装"一个库,然后将其包含在我的反应代码中:

var somelibrary = require('somelibrary');

我想知道如何在浏览器中执行此操作,它是否像加载 react 后运行源文件一样简单。

<script src="somereactlibrary.js"></script>

还是库有一堆文件/依赖项,不会那么容易?(如果库只是一个文件怎么办......技术上可行吗?

这是来自 reactjs.org 在浏览器中做出反应的代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Hello World</title>
<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>
<!-- Don't use this in production: -->
<script src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></script>
</head>
<body>
<div id="root"></div>
<script type="text/babel">
ReactDOM.render(
<h1>Hello, world!</h1>,
document.getElementById('root')
);
</script>
<!--
Note: this page is a great way to try React but it's not suitable for production.
It slowly compiles JSX with Babel in the browser and uses a large development build of React.
Read this section for a production-ready setup with JSX:
http://reactjs.org/docs/add-react-to-a-website.html#add-jsx-to-a-project
In a larger project, you can use an integrated toolchain that includes JSX instead:
http://reactjs.org/docs/create-a-new-react-app.html
You can also use React without JSX, in which case you can remove Babel:
https://reactjs.org/docs/react-without-jsx.html
-->
</body>
</html>

要在浏览器中渲染 React,您需要reactreact-dom库。其他库可以像您所说的那样作为单独的脚本标记加载,如果您无权访问可以将所有代码捆绑在一起的构建步骤。

ReactDOM.render(
React.createElement('div', {}, moment().format('YYYY-MM-DD')),
document.getElementById('root')
);
<script src="https://unpkg.com/moment@2.22.2/moment.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="root"></div>

最新更新