- configuration.output.path:提供的值“public”不是绝对路径!与Webpack

时间:2017-03-21 23:24:02

标签: node.js laravel

我正在使用基于WebPack的Laravel Mix。

我有它工作,现在,它失败了:

Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.
- configuration.output.path: The provided value "public" is not an absolute path!

如果我删除了我的webpack.mix.js内容,它仍然会以同样的方式失败。

你能帮我调试一下这个错误,我不知道如何继续前进。

我已经删除了node_modules文件夹,并且运行了npm install,它仍然失败了。

知道我该如何解决这个问题?

5 个答案:

答案 0 :(得分:99)

使用__dirname

e.g。

output: {
    path: __dirname + "/dist/js", // or path: path.join(__dirname, "dist/js"),
    filename: "bundle.js"
}

Getting: Error: `output.path` needs to be an absolute path or `/`

答案 1 :(得分:19)

在composer.json

中将webpack锁定到2.2.1
"devDependencies": {
    ...
    "webpack": "2.2.1",
    "laravel-mix": "^0.8.1",
    ...
}

如此处所述:

https://github.com/JeffreyWay/laravel-mix/issues/595

答案 2 :(得分:6)

引用this comment

  

对于其他想知道如何利用该修复程序的人,您可以编辑package.json并确保您的larave-mix版本为0.10或更高:

     

"laravel-mix": "^0.10.0",

     

然后运行npm update。

我认为最好(最干净)的解决方案是将Laravel Mix更新到最新版本(今天0.12)

答案 3 :(得分:0)

它似乎是与Webpack 2.3.0的Laravel Mix不兼容 - > https://github.com/JeffreyWay/laravel-mix/issues/595

答案 4 :(得分:-1)

无效的配置对象。 Webpack已使用与API架构不匹配的配置对象进行初始化。   - configuration.output.path:提供的值" public"不是绝对的道路!     - >输出目录为绝对路径(必需)。