问题描述
我最近加入了一个用 Next Js 和 Squidex CMS 编写的项目。 问题是我无法在本地环境中(正确)运行它。 块未加载且图像不可见
我尝试了两种方法
1 - 在生产管道上使用相同的脚本运行项目
- clean `node_modules` and `.next` directories
- run `yarn build`
- run `yarn start`
构建总是成功,但是当我尝试通过 yarn start
运行构建时,它不会加载一些 js 块和资产(静态文件夹中的图像)
他们在控制台上抛出 404 错误(请看图片) 我比较了哈希值,它们很好。
const optimizedImages = require("next-optimized-images")
const withPlugins = require("next-compose-plugins")
module.exports = withPlugins([
[optimizedImages,{
responsive: {
adapter: require('responsive-loader/sharp')
}
}]
],)
我还尝试了多个后续版本(9.5.0 和 10.1.3)
解决方法
问题是项目的目录名称。 存储库命名为“Some Project”,当您尝试通过存储库网站提供的 SSH 克隆它时,您计算机上的目录将如下所示:“Some%20Project”
示例 ssh 命令: git@ssh.dev.provider.com:Some%20Project
在这种情况下,node.js 服务器能够启动并且控制台上没有错误,除非您启动浏览器并尝试响应本地主机。 Node.js 无法从目录中提供文件,因为不支持像 %
这样的字符串字符这花了我很多时间才找到,希望它会有所帮助