Bootstrap 资产仅在将资产文件夹放入 public 文件夹时加载

Bootstrap assets only load when putting the assets folder in public folder

我开始构建一个包含 bootstrap 的 React 项目。

我正在使用 BootstrapMade.com

中的资产文件夹

当我复制 public 目录中的资产文件夹并将 js 文件包含在我的 index.html 中时,bootstrap 使用:

  <script src="assets/vendor/bootstrap/js/bootstrap.bundle.min.js"></script>

但是,当我将 assets 文件夹复制到 src 文件夹并尝试将 js 文件包含在我的 index.html 中时,使用:

  <script src="../src/assets/vendor/bootstrap/js/bootstrap.bundle.min.js"></script>

bootstrap 将不起作用。我被告知不建议将资产文件夹放在 public 目录中。

我正在使用带有 vscode 的 create-react-app。

为此你需要 ES 模块
在此处查看有关 ES 模块的更多信息:https://webpack.js.org/guides/ecma-script-modules/

Webpack 服务器不提供来自 src 内部的内容。它只捆绑它们。所以你不能使用 <script src="path_to_src"> 来访问它的内容。但是 <script src="path_to_public"> 可以用于 public 目录,因为 public 的内容由 webpack 开发服务器作为静态资产提供。