如何让 <script src="some_path/bootstrap.js"> 在 webpack 服务器上工作?

How to make <script src="some_path/bootstrap.js"> work on webpack server?

我只是想测试 bootstrap 是否与我的 React 应用程序配合良好。 (我正在使用已经包含 webpack 的样板文件)

我可以通过在从 how-to-use-webpack-with-react-and-bootstrap:

学到的 webpack 入口处导入文件来使用 bootstrap
  1. 安装一些节点包以应对不同类型的文件
  2. 编辑webpack.config.js让它使用上面安装的包

但是,我只是想尝试一下,我认为如果将其他 js 库捆绑到 bundle.js 中会使构建速度变慢(我需要热加载,所以不要指望 webpack 全部捆绑)。

现在,我编写如下代码:

<!doctype html>
<html>
  <head>
    <title>test</title>
    <script type="text/javascript" src="res/bootstrap/js/bootstrap.min.js"></script>
    <link rel="stylesheet" href="res/bootstrap/css/bootstrap.min.css">
  </head>
  <body>
    <div id="root"></div>
    <script src="/static/bundle.js"></script>
  </body>
</html>

bootstrap.min.jsbootstrap.min.css的内容为空。

我尝试将路径从 "res/bootstrap/js/bootstrap.min.js" 更改为 "src/res/bootstrap/js/bootstrap.min.js",但没有成功。

也尝试通过 Resolving require paths with webpack 在 webpack 配置中设置 resolve,它会导致另一个错误,如 Cannot resolve module 'react'

我知道我可能会弄错根路径或遗漏一些配置,但无法弄清楚, 我该怎么办?

好的,post回答有点晚了, 问题出在 express。我分叉的项目是使用 express 启动 webpack 项目,它确实包含 webpack.dev.config.js 这让我觉得它正在使用 webpack devserver。

一看到就明白问题了:

app.get('*', (req, res) => {
  res.sendFile(path.join(__dirname, 'index.html'));
});

我以前不关心基础项目是怎么开始的。它用的是express,不是webpack devserver,只是一个简单的路由问题。

更改为以下工作,

app.get('/', (req, res) => {
  res.sendFile(path.join(__dirname, 'index.html'));
});

有人抱怨:nodejs 开发者喜欢设置 * 路由器吗?