故事书+字体文件

时间:2017-05-18 14:25:14

标签: javascript webpack storybook

我似乎无法使用Storybook的webpack来编译我的CSS。它会抛出字体文件并告诉我可能需要一个加载器,但我已经在它使用的webpack.config.js文件中添加了一个。

这是我的webpack.config.js

const resolve = require('path').resolve;

module.exports = {
  module: {
    loaders: [
      {
        test: /\.css$/,
        loaders: ['style', 'css', 'postcss?modules'],
        include: resolve(__dirname, '../')
      },
      {
        test: /\.(png|woff|woff2|eot|ttf|svg)$/,
        loaders: ['file'],
        include: resolve(__dirname, '../')
      }
    ]
  }
};

我有装载机并且它看到了它,但它仍然给我这样的错误:

ERROR in ./~/font-awesome/fonts/fontawesome-webfont.svg?v=4.7.0
Module parse failed: /home/dcpdev/projects/my-project/node_modules/font-awesome/fonts/fontawesome-webfont.svg?v=4.7.0 Unexpected token (1:0)
You may need an appropriate loader to handle this file type.
SyntaxError: Unexpected token (1:0)
    at Parser.pp$4.raise (/home/dcpdev/projects/my-project/node_modules/webpack/node_modules/acorn/dist/acorn.js:2221:15)
    at Parser.pp.unexpected (/home/dcpdev/projects/my-project/node_modules/webpack/node_modules/acorn/dist/acorn.js:603:10)
    at Parser.pp$3.parseExprAtom (/home/dcpdev/projects/my-project/node_modules/webpack/node_modules/acorn/dist/acorn.js:1822:12)
    <snip>

我得到了每个扩展的错误之一(eot,woff,woff2,ttf,svg)。

我知道它正在阅读那个webpack.config.js文件,因为如果我做了类似改变为无意义的加载程序名称(如cake)的事情,我会收到错误。

此外,该文件位于项目根目录下的storybook目录中,因此resolve(__dirname, '../')也应将其放在项目的根目录下。

我错过了什么?

2 个答案:

答案 0 :(得分:5)

晚了3个月,但你是否设法让这个工作?

我正在努力解决同样的问题,并将以下代码添加到webpack.config.js似乎有效:

{
    test: /\.(png|woff|woff2|eot|ttf|svg)$/,
    loaders: ['file-loader'],
    include: path.resolve(__dirname, '../')
}

希望这可以帮助其他人面对类似的问题。

答案 1 :(得分:1)

为我工作:

config.resolve.roots = [path.resolve(__dirname, '../public')];

实际上不需要其他配置。故事书只是找不到上下文。