【发布时间】:2016-05-29 18:29:37
【问题描述】:
我正在尝试使用基于 Sass 的 bootstrap-loader 添加带有 webpack 的 bootstrap-material-design,但没有结果。
我可以使用 bower-webpack 插件加载它,但我希望使用 npm 对其进行更多控制,而无需管理 bower 包。
【问题讨论】:
标签: webpack angular-material bootstrap-material-design
我正在尝试使用基于 Sass 的 bootstrap-loader 添加带有 webpack 的 bootstrap-material-design,但没有结果。
我可以使用 bower-webpack 插件加载它,但我希望使用 npm 对其进行更多控制,而无需管理 bower 包。
【问题讨论】:
标签: webpack angular-material bootstrap-material-design
尝试以下步骤。
安装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 所说:
安装引导材料设计:
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 error : 我是这样解决的
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']
}
}
};
【讨论】: