3

我尝试使用基于 Sass 的 bootstrap-loader 添加带有 webpack 的 bootstrap-material-design,但没有结果。

我可以使用 bower-webpack 插件加载它,但我想使用 npm 对其进行更多控制,而无需管理 bower 包。

4

2 回答 2

1

尝试以下步骤。

安装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')
于 2016-03-05T11:50:57.480 回答
1

是的,你应该这样做,正如@jkukul 所说:

安装 bootstrap-material-design: npm install --save bootstrap-material-design 将 css 加载器添加到您的 webpack 配置中: module.exports = { module: { loaders: [ { test: /\.css$/, loader: "style-loader!css-loader" }, ] }, };

另外,你应该安装style-loadercss-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']
  }
  }
};

于 2016-08-06T11:12:51.447 回答