webpack create-react-app:标记< script>文件将替换为index.html

mlnl4t2r  于 2023-08-06  发布在  Webpack
关注(0)|答案(1)|浏览(144)

当我试图在create-react-app中包含<script>标签时,我看到了一些似乎与webpack相关的行为。
当我包含一个脚本标记(如<script src="/public/myjs.js" />)时,返回的是index.html。我是否需要更改打包或路由规则,以说服应用程序实际包含我所要求的脚本?
x1c 0d1x的数据

qco9c6ql

qco9c6ql1#

在标准的Create React App(CRA)设置中,您在index.html文件中包含的标记不会直接由应用的开发服务器提供。相反,它们被视为静态文件,应该放在“公共”目录中以供访问。
以下是您应该如何处理在Create React App中包含自定义脚本:
将脚本文件放在“public”目录中:将自定义JavaScript文件(myjs.js)移动到CRA项目的“public”文件夹。默认情况下,当运行npm run build或yarn build时,“public”文件夹中的所有文件都将复制到构建输出中。
更新index.html中的script标记:在index.html文件中,使用以下语法包含脚本:

<!DOCTYPE html>
<html>
<head>
  <link rel="stylesheet" href="index.css">
</head>
<body>
  <div id="root"></div>
  <!-- Include the custom script from the "public" directory -->
  <script src="myjs.js"></script>
</body>
</html>

字符串
将脚本放在“public”目录并更新脚本标签后,现在可以使用npm run build或yarn build构建和运行应用。该脚本将包含在构建输出中,并可供您的应用访问。

相关问题