Note: Use the official package @neutrinojs/style-loader.
There is alot of crossover with the most recent version @neutrinojs/style-loader, which supports alot of these features (extractCSS, custom loaders, css modules).
neutrino-middleware-styles-loaderis Neutrino middleware for loading and importing all kinds of stylesheets from modulesfork from poi
- Support all kinds of stylesheets:
css,stylus,styl,sass,scss,less - Easy config
minimize,extractCSS,sourceMapas out-of-the-box feature - Support css modules
- Customizing
postcssandautoprefixer - Customizing loader options support
- Node.js v6.10+
- Yarn or npm client
- Neutrino v6
# yarn
$ yarn add neutrino-middleware-styles-loader
# npm
$ npm install --save neutrino-middleware-styles-loaderNote: If you want to use one of these stylus, styl, sass, scss, less, you should install the loader by yourself. After install less-loader and less, you can use *.less now.
neutrino-middleware-styles-loader can be consumed from the Neutrino API, middleware, or presets. Require this package and plug it into Neutrino:
// Using function middleware format
const styles = require('neutrino-middleware-styles-loader')
// Use with default options
neutrino.use(styles)
// Usage showing default options
neutrino.use(styles, {
minimize: false,
extractCSS: false,
filename: '[name].[contenthash:8].css',
sourceMap: false,
postcss: {},
cssModules: false,
autoprefixer: false,
externalLoaderOptions: {}
})// Using object or array middleware format
// Use with default options
module.exports = {
use: ['neutrino-middleware-styles-loader']
}
// Usage showing default options
module.exports = {
use: [
['neutrino-middleware-styles-loader', {
minimize: false,
extractCSS: false,
filename: '[name].[contenthash:8].css',
sourceMap: false,
postcss: {},
cssModules: false,
autoprefixer: false,
externalLoaderOptions: {}
}]
]
}This lib using webpack-handle-css-loader create config.
Type: object boolean
Default:
{
browsers: ['ie > 8', 'last 4 versions']
}Options for autoprefixer, set to false to disable it.
Type: boolean
Default: false
Process CSS using css modules.
Files ending with .module.css .module.scss .module.less etc also support CSS modules by default.
To enable CSS modules for all CSS files, set cssModules: true in config file.
Type: boolean
Default: false
Extract CSS into a single file.
Type: string
Default: '[name].[contenthash:8].css'
Name of the extracted CSS file. Only applicable when extractCSS is true. May contain [name], [id] and [contenthash]
Type: boolean
Default: false
Minimize CSS files.
Type: boolean
Default: false
Generate sourcemaps.
Note: If you want to use this, set sourceMap: true, and you also should set config.devtool option.
Type: Array object
If you're using CLI, it searches for custom postcss config file using postcss-load-config, and add autoprefixer to the top of it when postcss is an array or object.
You can use this option to override it if you don't want extra config file for postcss.
Type: Object
You can add your custom loader options here, for example:
module.exports = {
use: [
['neutrino-middleware-styles-loader', {
minimize: false,
extractCSS: false,
sourceMap: false,
postcss: {},
cssModules: false,
autoprefixer: false,
externalLoaderOptions: {
css: {
localIdentName: '[name]__[local]--[hash:base64:5]'
},
less: {
// some options for less-loader here
}
}
}]
]
}-
neutrino-preset-react-zc Neutrino preset that supports building React web applications
-
neutrino-preset-eslint-react Neutrino preset for react project adding xo's base JS ESLint config, following the xo styleguide
-
neutrino-middleware-source-map Neutrino middleware for supporting sourceMap
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature - Commit your changes:
git commit -am 'Add some feature' - Push to the branch:
git push origin my-new-feature - Submit a pull request :D
neutrino-middleware-styles-loader © zcong1993, Released under the MIT License.
Authored and maintained by zcong1993 with help from contributors (list).
github.com/zcong1993 · GitHub @zcong1993