一尘不染

使用webpack解决需求路径

javascript

我仍然对如何使用webpack解析模块路径感到困惑。现在我写:

myfile = require('../../mydir/myfile.js')

但我想写

myfile = require('mydir/myfile.js')

我以为resolve.alias可能会有所帮助,因为我看到了一个类似的示例{xyz:"/some/dir"},所以可以使用它作为别名require("xyz/file.js")

但是,如果我将别名设置为{ mydir: '/absolute/path/mydir' }require('mydir/myfile.js')将无法正常工作。

我觉得很笨,因为我已经阅读了很多文档,并且觉得自己缺少一些东西。避免用../../etc写下所有相对要求的正确方法是什么?


阅读 332

收藏
2020-05-01

共1个答案

一尘不染

Webpack 1.0

一种更直接的方法是使用resolve.root。

resolve.root

包含模块的目录(绝对路径)。也可能是目录数组。此设置应用于将单个目录添加到搜索路径。

在您的情况下:

webpack配置

var path = require('path');

// ...

  resolve: {
    root: path.resolve('./mydir'),
    extensions: ['', '.js']
  }

消费模块

require('myfile')

要么

require('myfile.js')
2020-05-01