在API路由中未定义__dirname

时间:2019-08-05 17:00:01

标签: next.js

我有一个需要访问本地文件的Next.js API路由,但是当我在API路由中使用__dirname时未定义__dirname。

是否可以从下一条路由中获取当前目录?

1 个答案:

答案 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

相关问题