问题描述
我正在使用 SNowpack 制作一个 React 应用程序。一切正常,构建也成功。但是当我要打开构建的 index.html 时,页面是空白的。
通过修改 build 文件夹中的 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
问题是每次构建项目时都要修改很烦人,所以有什么办法可以解决这个问题吗?
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>
预先感谢您的帮助!
解决方法
我认为您将公共脚本加载 URL 指向计算机的根目录,而不是放置脚本的位置!
我想如果你把 mount.public
改成这样:
public: {url: "./",static: true}
它应该可以正常工作!