Webpack配置不起作用,路径必须是绝对的

时间:2017-05-23 03:27:57

标签: node.js reactjs configuration webpack

我的Webpack配置出错:

  

无效的配置对象。 Webpack已使用与API架构不匹配的配置对象进行初始化。

     
      
  • configuration.output.path:提供的值"./"不是绝对路径!
  •   

这是我的webpack.config.js

var config = {
   entry: './main.js',

   output: {
      path:'./',
      filename: 'index.js',
   },

   devServer: {
      inline: true,
      port: 8080
   },

   module: {
      loaders: [
         {
            test: /\.jsx?$/,
            exclude: /node_modules/,
            loader: 'babel',

            query: {
               presets: ['es2015', 'react']
            }
         }
      ]
   }
}

module.exports = config;

1 个答案:

答案 0 :(得分:4)

你的path必须是绝对的,而不是相对的。要使用当前目录,请使用变量__dirname

  

__目录名称

     

当前模块的目录名称。这与path.dirname()的{​​{1}}相同。

     

__filename实际上并不是全局性的,而是每个模块的本地化。

     

示例:从__dirname

运行node example.js
/Users/mjr

因此,它会将您的配置存储在当前目录中作为绝对路径,并按以下方式应用它:

console.log(__dirname);
// Prints: /Users/mjr
console.log(path.dirname(__filename));
// Prints: /Users/mjr

(请注意output: { path: __dirname, filename: 'index.js', }, ./之间存在差异,如question中所述。__dirname是指调用脚本的终端的当前目录./ 1}}指的是脚本存储在的目录。)