【问题标题】:Webpack configuration is not working, path must be absoluteWebpack 配置不起作用,路径必须是绝对的
【发布时间】:2017-05-23 03:27:56
【问题描述】:

我的 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;

【问题讨论】:

  • 可能会做require('path').resolve(__dirname, './')

标签: node.js reactjs configuration webpack


【解决方案1】:

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

__目录名

当前模块的目录名。这与__filenamepath.dirname() 相同。

__dirname 实际上不是全局的,而是每个模块的本地。

示例:从 /Users/mjr 运行 node example.js

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

因此,它是您当前的目录,配置作为绝对路径存储在其中,您可以像这样应用它:

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

(请注意./__dirname 之间存在差异,如question 中所述。./ 是指调用脚本的终端的当前目录,__dirname 是指脚本所在的目录存储在。)

【讨论】:

  • @ThilinaMullewidane 如果答案确实有帮助,请考虑单击答案旁边的复选标记以接受未来的读者。很高兴能提供帮助。
猜你喜欢
  • 2016-10-18
  • 1970-01-01
  • 2018-11-07
  • 2022-12-15
  • 2013-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-28
相关资源
最近更新 更多