我有一个使用 Next.js 的单页面网站。我的路线主页/显示了产品列表。该页面的代码位于pages/index.js. 每个产品都有一个,id所以我可以使用 跳转到它/#product-id。
为了使其更加 url 友好,我使用作为product-id路由中的第二个参数来复制此行为,如下所示:/product-id。
我所做的只是product-id使用以下命令查看参数useRouter():
const selectedProductId = useRouter().query['product-id']
Run Code Online (Sandbox Code Playgroud)
然后使用以下命令滚动到具有此 id 的元素js:
document.getElementById(selectedProductId ).scrollIntoView()
Run Code Online (Sandbox Code Playgroud)
所以我将脚本名称从 更改/pages/index.js为/pages/[product-id].js.
所以现在路线/1234工作已预期,但如果我去的话,/我会收到错误 404。
那么有人知道我如何匹配/和/param使用一个js文件吗?
我已经部署了内置网站Next.js,显然当您部署下一个 js 应用程序时,您可以找到所有静态文件和资源的目录,我对此感觉不太好。
目录是这样生成的: mydomain.com/_next/static在我的例子中https://www.ovanya.com/_next/static/
接下来的 js文档说:
要防止显示“目录列表”页面,请添加索引文件(例如index.html),该文件将在访问目录路径时显示该文件。
但我真的不明白应该将index.html 文件添加到哪个目录?那么我应该把index.html 放在哪里呢?
还有一个问题:如果我就这样留下来是不是很糟糕?它有任何风险或类似的东西吗?