我尝试使用基于 Sass 的 bootstrap-loader 添加带有 webpack 的 bootstrap-material-design,但没有结果。
我可以使用 bower-webpack 插件加载它,但我想使用 npm 对其进行更多控制,而无需管理 bower 包。
我尝试使用基于 Sass 的 bootstrap-loader 添加带有 webpack 的 bootstrap-material-design,但没有结果。
我可以使用 bower-webpack 插件加载它,但我想使用 npm 对其进行更多控制,而无需管理 bower 包。
尝试以下步骤。
安装bootstrap-material-design
:
npm install --save bootstrap-material-design
将 css 加载器添加到您的 webpack 配置中:
module.exports = {
module: {
loaders: [
{ test: /\.css$/, loader: "style-loader!css-loader" },
]
},
};
在 webpack 的入口文件中添加:
require('bootstrap-material-design/dist/css/bootstrap-material-design.css')
是的,你应该这样做,正如@jkukul 所说:
安装 bootstrap-material-design:
npm install --save bootstrap-material-design
将 css 加载器添加到您的 webpack 配置中: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 undefined 错误:我以这种方式修复了它
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']
}
}
};