Webpack 4:WOFF、WOFF2和SVG文件无法加载

9

./node_modules/bootstrap/dist/fonts/glyphicons-halflings-regular.woff 1:4 出现错误 模块解析失败:意外字符'' (1:4) 您可能需要一个适当的加载器来处理此文件类型。 (源代码已省略,因为这是二进制文件)

WOFF文件无法加载,我不知道为什么file-loader无法加载WOFF、WOFF2和SVG。

这是我的Webpack 4加载器配置:

module: {
        rules: [
            {
                //tell webpack to use jsx-loader for all *.jsx files
                test: /\.(js|jsx)$/,
                exclude: /node_modules/,
                loader: "babel-loader"
            },
            {
                test: /\.css$/,
                loader: "style-loader!css-loader"
            },
            {
                test: /\.(png|jpg|jpeg|gif|svg|woff|woff2)$/,
                exclude: /node_modules/,
                loader: "file-loader"
            },
            {
                test: /\.(eot|ttf)$/,
                loader: "file-loader",
            },
            {
                test: /\.html$/,
                exclude: /node_modules/,
                loader: 'html-loader'
            },
            {
                test: /\.scss$/,
                loaders: ["style-loader", "css-loader", "sass-loader"]
            }
        ]
    }

请为我提供一个解决方案。
2个回答

16

你可以使用Webpack的url-loader解决这个问题。如果你使用npm,你可以安装npm install url-loader --save-dev,然后在你的webpack.config.js中编写模块配置:

   {test: /\.(jpg|jpeg|png|woff|woff2|eot|ttf|svg)$/,loader: 'url-loader?limit=100000'}

你可以像这样导入图片:import img from './image.svg'

Github地址:https://github.com/webpack-contrib/url-loader

NPM地址:https://www.npmjs.com/package/url-loader


7
       {
          test: /\.woff(2)?$/,
          use: [
            {
              loader: 'url-loader',
              options: {
                limit: 10000,
                name: './font/[hash].[ext]',
                mimetype: 'application/font-woff'
              }
            }
          ]
        }

这对我很有用。你也可以使用resolve-url-loader

https://www.npmjs.com/package/resolve-url-loader


感谢您的回答。 - Hemadri Dasari

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接