next-pre-css
v1.0.0
Published
Adds support for Stylus & Less to NextJS.
Downloads
4
Readme
next-pre-css
Adds support for both Stylus & Less CSS pre-processing in NextJS v10+.
Step 1 - Install next-pre-css & Your Choice of Flavor
for Stylus?
Install both Stylus and the Stylus loader for Webpack:
$ npm i -D stylus stylus-loader next-pre-css
for Less?
Install both Less and the Less loader for Webpack:
$ npm i -D less less-loader next-pre-css
Step 2 - Setup your NextJS Config
If you don't already have a NextJS Config, create one.
touch next.config.js
In the config, require()
the next-pre-css module and wrap your config with it as follows.
const addSupport = require('next-pre-css')
module.exports = addSupport({
webpack: (config, options) => {
/* ...and the rest of your custom webpack config goes here. */
return config;
},
})
As an extra example; adding GraphQL and the GraphQL-Tag loader (because why not?):
const addSupport = require('next-pre-css')
module.exports = addSupport({
webpack: (config, options) => {
config.module.rules.push({
test: /\.(graphql|gql)$/,
exclude: /node_modules/,
loader: 'graphql-tag/loader',
})
return config
},
webpackDevMiddleware: (config) => {
return config
},
})
Step 3 - Um... Do Your Thing.
Begin working w/ the same pleasentries that NextJS provides Sass with (such as component-level styling like: mah-css.module.styl
or mah-css.module.less
, but for the pre-processor that you prefer. Under-the-hood, this module does little more than modify the webpack rules NextJS sets for Sass & CSS to include both Stylus and Less. So that's it.
Hence forth, Go Nuts!