如何将bootstrap-material-design包添加到webpack中?

时间:2016-02-17 20:30:32

标签: webpack angular-material bootstrap-material-design

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

我可以使用bower-webpack插件加载它,但是我希望使用npm更多地控制它,而不需要管理bower包。

2 个答案:

答案 0 :(得分: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')

答案 1 :(得分:1)

是的,你应该这样做,因为@jkukul说:

  

安装bootstrap-material-design:   npm install --save bootstrap-material-design   将css loader添加到webpack配置中:   module.exports = { module: { loaders: [ { test: /\.css$/, loader: "style-loader!css-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']
  }
  }
};