我有一个需要访问本地文件的Next.js API路由,但是当我在API路由中使用__dirname时未定义__dirname。
是否可以从下一条路由中获取当前目录?
答案 0 :(得分:0)
为了访问根目录或与此相关的任何目录,可以使用next.config.js
来设置Webpack别名。示例:
// Inside next.config.js
module.exports = {
webpack: (config) => {
config.resolve.alias = {
...config.resolve.alias,
'~': __dirname,
};
}
现在~
,当用于访问资源时,将解析为__dirname
的值。
或者,如果您使用的是next.js 8+,则可以使用next.js的客户端环境。示例:
// inside next.config.js
module.exports = {
env: {
ROOT: __dirname,
}
}
现在使用process.env.ROOT
可让您访问__dirname
。