代码之家  ›  专栏  ›  技术社区  ›  intercoder

foo之间的差异。join和foo。决定在webpack中

  •  0
  • intercoder  · 技术社区  · 8 年前

    当前我的 webpack.config.js 如下所示。。。

    var path = require('path');
    
    module.exports = {
      context: path.join(__dirname, 'src'),
      entry: [
        './app.js'
      ],
      ... etc
    

    如果我这样做会有什么不同

    ... (omitted code)
    
      context: path.resolve(__dirname, '../src'),
    
    ... etc
    

    resolve 在目录中查找文件,如果它不存在,会为我创建吗?有点像 if defined 在里面 ruby

    1 回复  |  直到 5 年前
        1
  •  1
  •   Mike McG    8 年前

    path.join 基本上就是使用主机操作系统的正确目录分隔符(通常是 / \ ). path.resolve 做同样的事 也能算出绝对路径 ,从系统的根目录开始。

    在您的情况下,生成的路径将是相同的,因为 __dirname 已经是绝对路径,因此与 路径联接 产生的结果与 路径解析 这保证了绝对路径。

    这两种方法都不会创建不存在的目录或文件-它们将为您提供一个路径字符串,而不管实际上是否可以到达那里。

    编辑:请注意 路径联接 路径解析 是NodeJS的方法 path docs -它们不是一般的Javascript方法