Learn how to include CoreUI in your project using Webpack or other bundlers.
On this page:Install coreui as a Node.js module using npm.
Import CoreUI’s JavaScript by adding this line to your app’s entry point (usually index.js
or app.js
):
// You can specify which plugins you need
import { Sidebar, Alert, Popover } from '@coreui/coreui';
Alternatively, if you only need just a few of our plugins, you may import plugins individually as needed:
import Alert from '@coreui/coreui/js/dist/sidebar';
...
CoreUI dependends on Popper, which is speicified in the peerDependencies
property.
This means that you will have to make sure to add both of them to your package.json
using npm install popper.js
.
To enjoy the full potential of CoreUI and customize it to your needs, use the source files as a part of your project’s bundling process.
First, create your own _custom.scss
and use it to override the built-in custom variables. Then, use your main Sass file to import your custom variables, followed by CoreUI:
@import "custom";
@import "~@coreui/coreui/scss/coreui";
For CoreUI to compile, make sure you install and use the required loaders: sass-loader, postcss-loader with Autoprefixer. With minimal setup, your webpack config should include this rule or similar:
...
{
test: /\.(scss)$/,
use: [{
loader: 'style-loader', // inject CSS to page
}, {
loader: 'css-loader', // translates CSS into CommonJS modules
}, {
loader: 'postcss-loader', // Run postcss actions
options: {
plugins: function () { // postcss plugins, can be exported to postcss.config.js
return [
require('autoprefixer')
];
}
}
}, {
loader: 'sass-loader' // compiles Sass to CSS
}]
},
...
Alternatively, you may use CoreUI’s ready-to-use CSS by simply adding this line to your project’s entry point:
import '@coreui/coreui/dist/css/coreui.min.css';
In this case you may use your existing rule for css
without any special modifications to webpack config, except you don’t need sass-loader
just style-loader and css-loader.
...
module: {
rules: [
{
test: /\.css$/,
use: ['style-loader', 'css-loader']
}
]
}
...