1 回答
TA贡献1824条经验 获得超6个赞
您可以访问使用var其他脚本定义的任何变量(在您的脚本之前连接并且未标记为async)。
好吧,如果你在你的 react-app 代码之前连接你的 js 文件,你可以访问所有使用var.
例如
索引.html
<html>
...
<body>
<script src="js-file.js" />
<script src="react-code.js" />
</body>
</html>
js-file.js
var mySharedVariable = "Example";
react-code.js 它是 webpack 包(的 js 结果npm run build)
...
export class MyComponent extends Component {
render() {
return mySharedVariable;
}
}
...
MyComponent 将呈现字符串“示例”
如果您使用 typescript,则必须在使用 like 之前声明 mySharedVariable
declare let mySharedVariable: string;
为什么不能使用async脚本?你可以阅读这篇文章
UPD
所以,让我们一步一步地一起做
1) 使用 cra 创建反应应用
npx create-react-app my-app
2)创建文件external.js并将其放在公共文件夹(index.html旁边)(如果您有远程文件,请通过此步骤)
var external = "external";
3) 修改你的 index.html 文件(在结束 body 标签之前添加一行)
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
<!--
This HTML file is a template.
If you open it directly in the browser, you will see an empty page.
You can add webfonts, meta tags, or analytics to this file.
The build step will place the bundled scripts into the <body> tag.
To begin the development, run `npm start` or `yarn start`.
To create a production bundle, use `npm run build` or `yarn build`.
-->
<!-- src is path to your js file -->
<script src="external.js"></script> <!-- add this line -->
</body>
4) 修改你的 App.js 文件
import React from 'react';
import './App.css';
function App() {
return (
<h1>{external}</h1>
);
}
export default App;
5)让我们启动你的应用程序
npm run start
添加回答
举报