为什么我的 React 构建的 index.html 是空白的?

Why the index.html of my React build is blank?

我正在使用 Snowpack 制作 React 应用程序。一切正常,构建也成功。但是当我绑定打开构建的index.html时,页面是空白的。

我找到了一个临时修复方法,方法是修改构建文件夹中的 index.html。

原始index.html构建代码(空白页):

<!DOCTYPE html><html lang="en"><head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>React page</title>
</head>
<body>
    <div id="root"></div>
    <script src="/js/webpack-runtime.0ec3dfa59e6510ed107b.js"></script><script src="/js/lib-react-dom.743af248c46307798cb8.js"></script><script src="/js/index.6929e3680f85299b6d65.js"></script>

</body></html>

这里是修改后的工作:

    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>React page</title>
</head>
<body>
    <div id="root"></div>
    <script src="./js/webpack-runtime.0ec3dfa59e6510ed107b.js"></script><script src="./js/lib-react-dom.743af248c46307798cb8.js"></script><script src="./js/index.6929e3680f85299b6d65.js"></script>

</body></html>

诀窍是将src=/js/xxxxx.js替换为src=./js/xxxxx.js

问题是每次构建项目时都要修改,所以有什么办法可以解决这个问题吗?

这是我的 snowpack.config.js 代码:

module.exports = {
    devOptions: {
        port: 3000
    },

    mount: {
        src: "/dist",
        public: {url: "/", static: true}
    },

    plugins: [
        [
            '@snowpack/plugin-webpack', {
                htmlMinifierOptions: false
            }
        ]
    ]
}

还有我的脚本标签index.html:

<script src="./dist/index.js" type="module"></script>

在此先感谢您的帮助!

我认为您将 public 脚本加载 URL 指向计算机的根目录,而不是放置脚本的位置!

我想如果你把你的 mount.public 改成这样:

public: {url: "./", static: true}

它应该可以正常工作!