0

我正在从 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 的字符串。

0.9.0

return "module.exports = " + publicPath + ";";

1.0.0-beta.1

return `export default = ${publicPath};`;

我试着把它放在babel-loader后面,file-loader但这并没有解决问题。我可以使用0.9.0并且一切正常,但是我不想被困在那个版本上。

4

1 回答 1

1

这是file-loader测试版中的一个错误。默认导出的正确语法是(在默认导出中=无效):

export default "/public/path/to/file";

此错误已修复,将在下一个(测试版)版本中。现在,您应该使用稳定版本。目前,最新版本是0.11.2.

于 2017-07-14T14:43:53.497 回答