【问题标题】:Webpack-dev-server sub pages not found未找到 Webpack-dev-server 子页面
【发布时间】:2016-09-24 00:53:01
【问题描述】:

我正在使用 webpack 的反应。在使用 webpack-dev-server 之前,我的应用运行良好。现在只有主页有效,其他返回“404 not found”。可能是 webpack.config.js 有问题?

var webpack = require("webpack");
var path = require("path");

var BUILD_DIR = path.resolve(__dirname, "public");
var APP_DIR = path.resolve(__dirname, "app");

var config = {
    entry: [
        "webpack/hot/only-dev-server",
        APP_DIR + "/main.js",
        "webpack-dev-server/client?localhost:8080"
    ],

    output: {
        path: BUILD_DIR + "/dist",
        filename: "bundle.js",
    },

    plugins: [
        new webpack.ProvidePlugin({
            $: "jquery",
            jQuery: "jquery"
        }),
        new webpack.HotModuleReplacementPlugin()
    ],

    module: {
        loaders: [...],
    },

    devServer: {
        noInfo: true,
        hot: true,
        inline: true
    },
}

module.exports = config;

还有我在 package.json 中的脚本:

"start": "webpack --watch & webpack-dev-server --content-base public"

Webpack 生成很好的 bundle 文件。所以我认为 webpack-dev-server 是导致这个问题的原因。

谢谢!

【问题讨论】:

  • 它们是普通的 html 文件吗?我相信 webpack 开发服务器会将所有内容扁平化到一个目录中,并且默认情况下不保留源目录结构。
  • 我用过 react,不好意思没提。所以我在文件夹“puclic”中有 index.html 和 bundle.js

标签: javascript reactjs webpack webpack-dev-server file-not-found


【解决方案1】:

我找到了答案。对于有同样问题的人,我们需要在 devServerConfig 中添加“historyApiFallback: true”:

devServer: {
    noInfo: true,
    hot: true,
    inline: true,
    historyApiFallback: true
},

【讨论】:

    【解决方案2】:

    你能改变你的 npm 脚本吗

    "start": "webpack --watch & webpack-dev-server --content-base public"
    

    "start": "webpack --watch & webpack-dev-server --content-base public/"
    

    看看会发生什么?否则我会回来帮助你的。

    【讨论】:

    • 抱歉,没有任何反应。我已将“public”更改为“public/”。谢谢
    • 你能给我更多的背景信息吗?你用的是反应路由器吗?那个 404 页面什么时候出现?例如,如果您有 example.com/test URL。直接在网址栏输入example.com/test会出现404吗?
    • 是的,我使用了 react-router。 “localhost:8080”给了我主页,但“localhost:8080/login”返回 404 并显示“Cannot GET /login”消息。我尝试点击链接或直接在 URL 栏中输入内容,但总是一样。
    • 我很确定我的代码没有问题,因为在使用 webpack 之前,一切正常。
    • 我认为 webpack-dev-server 可能不支持 browserHistory
    猜你喜欢
    • 2017-05-08
    • 1970-01-01
    • 2017-05-26
    • 1970-01-01
    • 2021-08-10
    • 2017-07-04
    • 2015-10-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多