I am in the process of creating a client-side application using React, Webpack and Bootstrap-Sass. I am trying to import an outside Bootstrap-sass library, but keep getting the following error in terminal:
"File to import not found or unreadable: bootstrap-sass/assets/stylesheets/bootstrap/variables"
It appears as though the scss loader in my webpack.config.js is not properly reading the variables file in bootstrap-sass; however, I've tried using/creating several different scss loaders and none of them have been able to resolve this issue.
Here is my webpack.config.js file:
var StaticSiteGeneratorPlugin = require('static-site-generator- webpack-plugin');
var data = require('./data');
var path = require('path');
module.exports = {
entry: './entry.jsx',
output: {
filename: 'bundle.js',
path: __dirname,
libraryTarget: 'umd'
},
module: {
loaders: [
{ test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader' },
{ test: /\.jsx$/, exclude: /node_modules/, loader: 'babel-loader' },
{ test: /\.css$/, loaders: [ 'css' ] },
{ test: /bootstrap-sass\/assets\/javascripts\//, loader: 'imports?jQuery=jquery' },
{ test: /\.scss$/, loader: "css!sass?includePaths[]=" +
path.resolve(__dirname, "./bower_components/bootstrap-sass/assets/stylesheets/")},
{ test: /\.woff(\?v=\d+\.\d+\.\d+)?$/, loader: "url?limit=10000&mimetype=application/font-woff" },
{ test: /\.woff2(\?v=\d+\.\d+\.\d+)?$/, loader: "url?limit=10000&mimetype=application/font-woff" },
{ test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/, loader: "url?limit=10000&mimetype=application/octet-stream" },
{ test: /\.eot(\?v=\d+\.\d+\.\d+)?$/, loader: "file" },
{ test: /\.svg(\?v=\d+\.\d+\.\d+)?$/, loader: "url?limit=10000&mimetype=image/svg+xml" }
]
},
plugins: [
new StaticSiteGeneratorPlugin('bundle.js', data.routes, data)
],
}
base.scss file:
// include bootstrap stylesheets
$icon-font-path: "../node_modules/bootstrap- sass/assets/fonts/bootstrap/";
@import "../node_modules/bootstrap- sass/assets/stylesheets/_bootstrap.scss";
@import "../node_modules/bootstrap-sass/assets/stylesheets/_bootstrap-compass.scss";
@import "../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_variables.scss";
@import"index.scss";
// include omni stylesheets
@import "../bower_components/omni-bootstrap/assets/stylesheets/omni";
Any help or advice is greatly appreciated!