esbuild 是否提供类似 webpack 中的 resolve.alias 选项的功能?

Does esbuild provide a feature like the resolve.alias option in webpack?

esbuild 是否提供类似 webpack 中的 resolve.alias 选项的功能?

const path = require('path');
    
module.exports = {
  //...
  resolve: {
    alias: {
      Utilities: path.resolve(__dirname, 'src/utilities/'),
      Templates: path.resolve(__dirname, 'src/templates/'),
    },
  },
};

现在,导入时不再使用相对路径:

import Utility from '../../utilities/utility';

您可以使用别名:

import Utility from 'Utilities/utility';

esbuild 目前不提供解决别名的专用方法,但在 tsconfig.json 中支持 pathshttps://github.com/evanw/esbuild/issues/2191

esbuild 在构建选项中没有类似的选项,但它提供了方便的方式来控制通过插件解析的路径。你可以写 simple own plugin or use existing one such as esbuild-plugin-alias