我正在升级到Webpack 2到3,我遇到了file-loader@1.0.0-beta.1
的问题。这是我得到的错误:
You may need an appropriate loader to handle this file type.
| export default = __webpack_public_path__ + "foo.css"
(为了简洁,省略了完整的错误细节。这是相关部分。)
这是Webpack配置:
module: {
rules: [{
test: /\.scss$/,
use: [{
loader: 'file-loader',
options: {
name: '[name].css'
}
},
'extract-loader',
'css-loader',
'sass-loader'
fallback: 'style-loader/url'
}
}
在我使用0.9.0
之前没有错误。看看两个版本之间的区别,我发现0.9.0
返回一个使用CJS格式而不是Harmony的字符串。
return "module.exports = " + publicPath + ";";
return `export default = ${publicPath};`;
我尝试在babel-loader
之后添加file-loader
,但这并没有解决问题。我可以使用0.9.0
,一切正常,但是我不愿意被困在那个版本。
答案 0 :(得分:1)
这是file-loader
测试版中的错误。默认导出的正确语法是(=
在默认导出中无效):
export default "/public/path/to/file";
此错误已修复,将在下一个(测试版)版本中修复。目前,您应该使用稳定版本。目前,最新版本为0.11.2
。