我对Webpack很新,所以很可能我的问题显而易见,问了100次,而我却无法连接它们。也许。
我有小型Express - Ract - Gprahql - Semantic-ui项目。 我需要将它与Webpack绑定在一起,我完全无法得到它的逻辑。 我需要为组件添加样式,我想应该使用css-module吗? (我呢?)并添加一些魔术内容做webpack.config的模块部分。到目前为止(没有自定义css工作)它看起来像:
const webpack = require('webpack');
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
entry: './client/index.js',
output: {
path: '/',
filename: 'bundle.js'
},
module: {
rules: [
{
use: 'babel-loader',
test: /\.jsx$/,
exclude: /node_modules/
},
{
test: /\.css$/,
use: [ 'style-loader', 'css-loader' ]
}
]
},
plugins: [
new HtmlWebpackPlugin({
template: 'client/index.html'
})
]
};
我在docs中发现我需要css和样式加载器(无论它意味着什么)所以我已经安装了正确的包并将对象添加到module.rules:
{
test: /\.css$/,
use: [ 'style-loader', 'css-loader' ]
}
编译时我得到的只是错误。
You may need an appropriate loader to handle this file type.
| const Root = () => {
| return (
| <ApolloProvider client={client}>
| <Router history={hashHistory}>
| <Route path="/" component={App}>
我希望在我提出要求之前我可以进行更多调查,但我不知道从哪里开始。 如果您需要,这是我的回购:https://bitbucket.org/don_Kamillo/ranking/src
答案 0 :(得分:2)
目前,看起来您没有.js
个文件的加载器。这是因为您的babel-loader
配置了.jsx$
。如果您希望x
是可选的,请使用.jsx?$
:
module: {
rules: [
{
use: 'babel-loader',
test: /\.jsx?$/,
exclude: /node_modules/
},
{
test: /\.css$/,
use: [ 'style-loader', 'css-loader' ]
}
]
},