找不到 "routes-manifest.json"
A "routes-manifest.json" couldn't be found
我正在关注 this tutorial,以便在 vercel 构建期间生成一个静态文件。我试过移动文件,但它总是显示如下日志:
23:41:48.432 $ node ./pages/api/build.js 23:41:48.493 Build time file created successfully! 23:41:48.495 Done in 0.09s. 23:41:48.507 Error: A "routes-manifest.json" couldn't be found. This is normally caused by a misconfiguration in your project.
然后它链接到 this。我检查了问题,一切似乎都很好。
如果我从 package.json 中删除 "vercel-build": "node ./pages/api/build.js"
行,错误就会消失。还有功能..
我的pages/api/index.js文件:
const BuiltTime = require('./built-time');
module.exports = (req, res) => {
res.setHeader('content-type', 'text/plain');
res.send(`
This Serverless Function was built at ${new Date(BuiltTime)}.
The current time is ${new Date()}
`);
};
我的pages/build.js:
const fs = require('fs');
fs.writeFile(
'pages/api/built-time.js',
`module.exports = '${new Date()}'`,
(err) => {
if (err) throw err;
console.log('Build time file created successfully!');
}
);
我的package.json:
{
...
"scripts":{
"vercel-build": "node ./pages/api/build.js",
}
}
最后我没有使用“vercel-build”。我只是 运行 构建之前的脚本:
// package.json
{
"scripts": {
"make-q": "node ./build.js",
"build": "yarn run make-q && next build",
}
构建文件不能使用导入或调用打字稿文件(至少现在):
// build.js
const slugify = require('./utils/slugify');
const fs = require('fs');
const qs = slugify('some string');
fs.writeFile(
'questionsDB.js',
`module.exports = ${JSON.stringify(qs, null, 2)}`,
(err) => {
if (err) throw err;
console.log('file created successfully!');
}
);
最后,在 pages/api/test.js 里面:
const db = require('../../db');
module.exports = (req, res) => {
res.setHeader('content-type', 'text/plain');
res.send(`
working:
${db}
`);
};
现在,如果我调用 url/api/test
,我会得到基于构建的结果。
我尝试失败的事情:
- 不同节点版本
- 更新 nextjs
- 删除 yarn.lock 并重新构建
我正在关注 this tutorial,以便在 vercel 构建期间生成一个静态文件。我试过移动文件,但它总是显示如下日志:
23:41:48.432 $ node ./pages/api/build.js 23:41:48.493 Build time file created successfully! 23:41:48.495 Done in 0.09s. 23:41:48.507 Error: A "routes-manifest.json" couldn't be found. This is normally caused by a misconfiguration in your project.
然后它链接到 this。我检查了问题,一切似乎都很好。
如果我从 package.json 中删除 "vercel-build": "node ./pages/api/build.js"
行,错误就会消失。还有功能..
我的pages/api/index.js文件:
const BuiltTime = require('./built-time');
module.exports = (req, res) => {
res.setHeader('content-type', 'text/plain');
res.send(`
This Serverless Function was built at ${new Date(BuiltTime)}.
The current time is ${new Date()}
`);
};
我的pages/build.js:
const fs = require('fs');
fs.writeFile(
'pages/api/built-time.js',
`module.exports = '${new Date()}'`,
(err) => {
if (err) throw err;
console.log('Build time file created successfully!');
}
);
我的package.json:
{
...
"scripts":{
"vercel-build": "node ./pages/api/build.js",
}
}
最后我没有使用“vercel-build”。我只是 运行 构建之前的脚本:
// package.json
{
"scripts": {
"make-q": "node ./build.js",
"build": "yarn run make-q && next build",
}
构建文件不能使用导入或调用打字稿文件(至少现在):
// build.js
const slugify = require('./utils/slugify');
const fs = require('fs');
const qs = slugify('some string');
fs.writeFile(
'questionsDB.js',
`module.exports = ${JSON.stringify(qs, null, 2)}`,
(err) => {
if (err) throw err;
console.log('file created successfully!');
}
);
最后,在 pages/api/test.js 里面:
const db = require('../../db');
module.exports = (req, res) => {
res.setHeader('content-type', 'text/plain');
res.send(`
working:
${db}
`);
};
现在,如果我调用 url/api/test
,我会得到基于构建的结果。
我尝试失败的事情:
- 不同节点版本
- 更新 nextjs
- 删除 yarn.lock 并重新构建