我似乎无法使用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, '../')
也应将其放在项目的根目录下。
我错过了什么?
答案 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')];
实际上不需要其他配置。故事书只是找不到上下文。