我正在编写一个Web应用程序,并试图将其部署到Zeit's Now。
我的now.json
包含:
"builds": [
{
"src": "build.sh",
"use": "@now/static-build",
"config": { "distDir": "out" }
},
{ "src": "api/download/index.ts", "use": "@now/node" }
],
在api/download/index.ts
中,我试图从static-build
输出中导入json文件:
import slugs from "../../out/data/slugs.json";
但是我在日志中得到4:19 Cannot find module '../../out/data/slugs.json'.
。 AFAIK,static-build
很好。
是否可以从static-build
的{{1}}导入文件?
UPD
我在这里概述了解决该问题的方法:正如Paulo指出的,我必须同时做这两项:
distDir
和package.json中的
{
"src": "api/download/index.ts",
"use": "@now/node",
"config": {
"includeFiles": ["data/**"]
}
}
似乎"now-build": "<generate content of ./data>"
的每个构建器都使用单独的目录,这就是为什么第一个构建器的now
目录不能用于第二个构建器。
答案 0 :(得分:1)
使用configuration,您应该具有以下条件:
"builds": [
{
"src": "api/download/index.ts",
"use": "@now/node",
"config": {
"includeFiles": [
"out/data/**"
]
}
}
]
但是,您需要确保此文件可用于lambda。如果已生成,则可以在"now-build"
中使用package.json
脚本来创建它。
根据以上信息,我认为您应该执行以下操作:
"builds": [
{
"src": "api/download/index.ts",
"use": "@now/node",
"config": {
"includeFiles": [
"json/**"
]
}
}
]
创建一个名为json
的新文件夹,并将所需的文件移动到该文件夹。请记住,includeFiles
配置是相对于项目根目录的(默认情况下,now.json
所在的位置)。