找不到"routes-manifest.json"



我遵循本教程,以便在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.

然后链接到这个。我检查了问题,一切似乎都很好。

如果我从包中删除"vercel-build": "node ./pages/api/build.js"行。Json,错误消失。还有功能…

my 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()}
`);
};

我的页面/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",
}

构建文件不能使用import或调用typescript文件(至少现在):

// 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
  • 删除线。锁定并重新构建

最新更新