Как я могу добавить пакет bootstrap-material-design в веб-пакет?
Я пытаюсь добавить дизайн начальной загрузки с веб-пакетом, используя также загрузчик на основе Sass, но безрезультатно.
Я могу загрузить его с помощью плагина bower-webpack, но я хочу иметь больший контроль над ним с помощью npm без управления пакетами bower.
2 ответа
Да, вы должны сделать, как сказал @jkukul:
Установить бутстрап-материал-дизайн:
npm install --save bootstrap-material-design
Добавьте загрузчик css в конфигурацию вашего веб-пакета:module.exports = { module: { loaders: [ { test: /\.css$/, loader: "style-loader!css-loader" }, ] }, };
также вам следует установить пакеты style-loader и css-loader
npm install style-loader css-loader --save-dev
и добавьте текстовый плагин webpack:
npm i extract-text-webpack-plugin --save
добавьте эту строку перед module.exports:
var ExtractTextPlugin = require ('extract-text-webpack-plugin');
и добавьте этот параметр в module.exports:
styleLoader: require('extract-text-webpack-plugin').extract('style-loader', 'css-loader!postcss-loader!less-loader')
возможно, появится ошибка с неопределенностью jQuery: я исправил ее
npm i jquery --save
и добавьте плагины в module.exports:
plugins: [
new webpack.ProvidePlugin({
$: "jquery",
jQuery: "jquery"
})]
вот мой общий файл webpack.config (надеюсь, он будет полезен!):
var path = require('path');
var webpack = require('webpack');
var ExtractTextPlugin = require ('extract-text-webpack-plugin');
module.exports = {
styleLoader: require('extract-text-webpack-plugin').extract('style-loader', 'css-loader!postcss-loader!less-loader'),
devtool: 'eval',
entry: [
'webpack-dev-server/client?http://localhost:3000',
'webpack/hot/only-dev-server',
'./src/index'
],
output: {
path: path.join(__dirname, 'dist'),
filename: 'bundle.js',
publicPath: '/static/'
},
plugins: [
new webpack.HotModuleReplacementPlugin(),
new webpack.ProvidePlugin({
$: "jquery",
jQuery: "jquery"
})
],
module: {
loaders: [{
test: /\.js$/,
loaders: ['react-hot', 'babel'],
include: path.join(__dirname, 'src')
},
{
test: /\.css$/,
loader: "style-loader!css-loader"
}
],
resolve: {
extensions: ['', '.js', '.jsx','.css'],
modulesDirectories: ['node_modules']
}
}
};
Попробуйте следующие шаги.
устанавливать bootstrap-material-design
:
npm install --save bootstrap-material-design
Добавьте загрузчик css в конфигурацию вашего веб-пакета:
module.exports = {
module: {
loaders: [
{ test: /\.css$/, loader: "style-loader!css-loader" },
]
},
};
В файле входа вашего веб-пакета добавьте:
require('bootstrap-material-design/dist/css/bootstrap-material-design.css')