深层路由的 webpack HistoryApiFallback 配置

2024-04-03

webpack-dev-server 可以设置为将您发送回 index.html 并找到单个路由的脚本,例如http://localhost:4301/sdr http://localhost:4301/sdr但是当您放入更深的路线(或末尾带有 / 的单个路线)时http://localhost:4301/sdr/dog http://localhost:4301/sdr/dog它变得混乱。

  devServer: {
    contentBase: './dist',
    historyApiFallback: true
  },

with http://localhost:4301/sdr/dog http://localhost:4301/sdr/dog服务器响应

x GET http://localhost:4301/sdr/bundle.js 

将 /sdr 添加到搜索 bundle.js 的路径中

我怎样才能解决这个问题。 ...然后我将在 NGINX 上尝试,然后使用react-router,然后使用navigo,然后使用react-router-redux....


我也有这个问题。我发现解决方案是添加publicPath: '/'到我的 webpack 配置下的输出。

const base = {
  entry: [
    PATHS.app,
  ],
  output: {
    path: PATHS.build,
    publicPath: '/',
    filename: 'index_bundle.js',
  },
  module: {
    loaders: [
      {test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader'},
      {test: /\.css$/, loader: 'style!css?sourceMap&modules&localIdentName=[name]__[local]___[hash:base64:5]'},
      {test: /\.json$/, loader: 'json'},
    ],
  },
  resolve: {
    root: path.resolve('./app'),
  },
}

const developmentConfig = {
  devtool: 'cheap-module-inline-source-map',
  devServer: {
    contentBase: PATHS.build,
    hot: true,
    inline: true,
    progress: true,
    proxy: {
      '/api': 'http://127.0.0.1:5000',
    },
    historyApiFallback: true,
  },
  plugins: [HTMLWebpackPluginConfig, new webpack.HotModuleReplacementPlugin()],
}

export default Object.assign({}, base, developmentConfig)

以下是该属性的更详细文档:http://webpack.github.io/docs/configuration.html#output-publicpath http://webpack.github.io/docs/configuration.html#output-publicpath

这里是论坛,对这个问题有更详细的讨论:https://github.com/webpack/webpack/issues/443 https://github.com/webpack/webpack/issues/443

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

深层路由的 webpack HistoryApiFallback 配置 的相关文章

随机推荐

  • Django Forms:将参数传递给表单

    如何将参数传递到我的表单 someView form StylesForm data dict I also want to pass in site id here class StylesForm forms Form I want a
  • 如何在Windows桌面上绘制文字?

    我该如何将文本放置在 Windows 桌面上 有人告诉我 GetDesktopWindow 是我所需要的 但我需要一个例子 我假设您的最终目标是在桌面上显示某种状态信息 您必须执行以下任一操作 将 DLL 注入到 Explorer 的进程中
  • 给定表面法线,找到 3D 平面的旋转

    所以我有一个由 2 个向量描述的 3D 平面 P 位于平面上的点N 平面的表面法线 我有一个非常大的扁平方形多边形 我想渲染它来代表这个平面 我可以轻松地将多边形平移到给定点 但随后我需要找到适当的旋转来应用以使表面法线实际上成为表面法线
  • 无法使用 Google Drive api 复制 Google 幻灯片文件

    我想复制我的谷歌驱动器中存在的现有模板 ppt 然后我想将占位符文本更改为其他文本 这就是我正在尝试的 from google oauth2 import service account import googleapiclient dis
  • 如何从 django 数据库中下载 blob 字段中的数据?

    我有一个表 其中有一个包含一些数据的 blob 列 我如何在 django 中下载 blob 内容 我尝试了提到的解决方案here https stackoverflow com questions 4915397 django blob
  • 如何在 Python 中测试 Web API 限制

    我想使用 Python 测试给定站点的 Web API 限制 此 API 限制允许每个 IP 在 Y 秒内最多发出 X 个请求 我希望能够测试此限制的可靠性 特别是在边界情况下 X 1 请求 X 1 请求 你能建议一个好方法吗 我会编写一个
  • 如何在 Vue JS SPA 中进行开放图图像?

    我正在尝试在我的 VueJS 单页应用程序中包含开放图形图像 https developers facebook com tools debug https developers facebook com tools debug 给我这个链
  • 模糊测试(框架)Web应用程序?

    是否有可以对 Web 应用程序执行模糊测试的框架 我知道Selenium and WebDriver用于为 Web 应用程序构建测试 但我对内置模糊测试的库 框架或项目特别感兴趣 因此我不需要重新发明轮子 例如 我可以从以下功能中受益 随机
  • `.create()` 方法默认不支持可写嵌套字段。

    关于 DRF 中与中间模型的多对多关系的序列化 我有一个大问题 如果请求方法是 get 则一切正常 但是当我尝试将数据发布或放置到 API 时 我收到以下错误 Traceback most recent call last File Lib
  • ASP.NET MVC4 捆绑单个文件

    有没有办法使用 MVC4 中的新捆绑功能来捆绑单个文件 我知道捆绑单个文件没有多大意义 但我想使用服务器端缩小并让 MVC 在 URL 末尾附加哈希以用于缓存目的 我已经尝试过 Scripts Url Scripts myscript js
  • iOS7 中非消耗性产品的服务器端收据验证和 transactionReceipt 弃用

    我正在从以前的 iOS 移植一个工作应用程序 但在处理新的应用程序内购买收据时遇到了问题 我们现在的工作方式是从SKPaymentTransaction对象并将其发送到服务器进行验证 从我从其他问题中收集到的信息来看 收据现在似乎保存在一个
  • Android studio 1.4 和矢量图像

    今天我将android studio更新到1 4版本 我在变更日志中看到 您也可以为 api Error Execution failed for task app transformClassesWithDexForDebug gt co
  • Eclipse Java IDE JUnit5:junit.jupiter.api.Assertions 不可访问

    我对整个编程很陌生 但这是我的问题 我曾经通过右键单击项目在 Eclipse 中添加 JUnit 测试用例 然后添加新增 gt JUnit 测试用例 目前 我无法实现任何测试方法 因为 Eclipse 在线告诉我 import static
  • FPDF/FPDI 错误:致命错误:找不到类“setasign\Fpdi\FpdfTpl”

    我正在尝试为现有的 PDF 文档添加水印 这个错误在过去两天一直困扰着我 我的 FPDI 库位于 fpdi src 中 fpdf 库位于 fpdf 中 引发错误的文件是 Fpdi php 第 27 行 以下是前 30 行
  • Java 中的 tan() 返回一个奇怪的值

    我的代码将一个以弧度为单位的角度传递给cos tan and sin 一切似乎都工作正常 除了晒黑90 这给出了值16331239353195370由于某些奇怪的原因 示例代码 import java text DecimalFormat
  • 当最小 SDK 从 21 增加到 24 时,APK 大小增加了 35mb

    最近 我们将支持的最小 SDK 从 API 21 提高到了 24 显然 这一变化导致我们的 APK 大小从 65mb 增加到 103mb 从Android studio中的APK分析中 我们可以看到所有的 so文件的大小基本上都增加了一倍
  • 替换 Java 中的静态引用方法

    我有一个如下所示的类 其方法仅返回一个字符串 但我想修改它从另一个类返回的内容 而无需自己对其进行硬编码 public class Name public static String getName return MyName 有什么办法可
  • 协议中的公共默认初始化

    我有这个代码 public protocol MyProtocol init public extension MyProtocol public init self init public final class MyClass MyPr
  • 如何处理“intrin.h:没有这样的文件或目录”?

    include
  • 深层路由的 webpack HistoryApiFallback 配置

    webpack dev server 可以设置为将您发送回 index html 并找到单个路由的脚本 例如http localhost 4301 sdr http localhost 4301 sdr但是当您放入更深的路线 或末尾带有 的