Использование response-bootstrap-typeahead для генерации ошибок CSS
Я использую следующее без изменений (за исключением попытки добавить typeahead в проект):
React Redux Универсальный горячий пример
В модуле typeahead есть примечание о настройке CSS:
Пользователям Browserify нужно будет использовать browserify-css (или что-то подобное) для обработки CSS-пакетов, в то время как пользователю Webpack нужно будет использовать css-loader и / или style-loader в своем конфигурационном файле webpack.
Вот стандартный конфиг Webpack из примера:
loaders: [
{ test: /\.jsx?$/, exclude: /node_modules/, loaders: ['babel?' + JSON.stringify(babelLoaderQuery), 'eslint-loader']},
{ test: /\.json$/, loader: 'json-loader' },
{ test: /\.less$/, loader: 'style!css?modules&importLoaders=2&sourceMap&localIdentName=[local]___[hash:base64:5]!autoprefixer?browsers=last 2 version!less?outputStyle=expanded&sourceMap' },
{ test: /\.scss$/, loader: 'style!css?modules&importLoaders=2&sourceMap&localIdentName=[local]___[hash:base64:5]!autoprefixer?browsers=last 2 version!sass?outputStyle=expanded&sourceMap' },
{ test: /\.woff(\?v=\d+\.\d+\.\d+)?$/, loader: "url?limit=10000&mimetype=application/font-woff" },
{ test: /\.woff2(\?v=\d+\.\d+\.\d+)?$/, loader: "url?limit=10000&mimetype=application/font-woff" },
{ test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/, loader: "url?limit=10000&mimetype=application/octet-stream" },
{ test: /\.eot(\?v=\d+\.\d+\.\d+)?$/, loader: "file" },
{ test: /\.svg(\?v=\d+\.\d+\.\d+)?$/, loader: "url?limit=10000&mimetype=image/svg+xml" },
{ test: /\.css$/, loader: "css=style!css"}, // I added this line
{ test: webpackIsomorphicToolsPlugin.regular_expression('images'), loader: 'url-loader?limit=10240' }
]
Тем не менее, я все еще получаю эту ошибку:
[0] ./~/react-bootstrap-typeahead/css/Typeahead.css
[0] Module parse failed: /Users/myproject/react-redux-universal-hot-example/node_modules/react-bootstrap-typeahead/css/Typeahead.css Unexpected token (1:0)
[0] You may need an appropriate loader to handle this file type.
[0] SyntaxError: Unexpected token (1:0)
Вслед за этим далее вниз:
[1] [require-hook] Trying to load "Token.css" as a "*.js"
Видимо, я что-то не так делаю. Я гуглил, но я немного озадачен:
- Что я делаю не так, чтобы ошибка ушла.
- Что именно пытаются сделать эти загрузчики, и почему это не происходит.
Спасибо!
2 ответа
Я думаю, что это должно работать:
{ test: /\.css$/, include: /node_modules/, loader: "style!css"}
И вам нужно иметь css-loader
а также style-loader
установлены. Не уверен, насколько хорошо Webpack сообщает об отсутствующих загрузчиках.
Обратите внимание, что v0.5.x модуля перестал требовать CSS непосредственно в файлах JS, поэтому это больше не должно быть проблемой.
Что касается вашего первоначального вопроса, ответ Филиппа должен сработать, но если нет, вы также можете попробовать:
{test: /\.css$/, include: /node_modules/, loader: 'style-loader!css-loader'}