我正在使用基于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
,它仍然失败了。
知道我该如何解决这个问题?
答案 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",
...
}
如此处所述:
答案 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"不是绝对的道路! - >输出目录为绝对路径(必需)。