mirror of
https://github.com/terribleplan/next.js.git
synced 2024-01-19 02:48:18 +00:00
cb312eb18b
* added example for using typings-for-css-modules-loader * Update examples/with-typings-for-css-modules/README.md * Update examples/with-typings-for-css-modules/README.md * Update examples/with-typings-for-css-modules/next.config.js
55 lines
1.3 KiB
JavaScript
55 lines
1.3 KiB
JavaScript
const withCSS = require('@zeit/next-css')
|
|
const withTypescript = require('@zeit/next-typescript')
|
|
|
|
/* With additional configuration on top of CSS Modules */
|
|
module.exports = withTypescript(withCSS({
|
|
cssModules: true,
|
|
cssLoaderOptions: {
|
|
camelCase: true,
|
|
namedExport: true
|
|
},
|
|
webpack (config, options) {
|
|
if (!options.isServer) {
|
|
/* Using next-css */
|
|
for (let entry of options.defaultLoaders.css) {
|
|
if (entry.loader === 'css-loader') {
|
|
entry.loader = 'typings-for-css-modules-loader'
|
|
break
|
|
}
|
|
}
|
|
|
|
/* Using next-less */
|
|
/*
|
|
for (let entry of options.defaultLoaders.less) {
|
|
if (entry.loader === 'css-loader') {
|
|
entry.loader = 'typings-for-css-modules-loader';
|
|
break;
|
|
}
|
|
}
|
|
*/
|
|
|
|
/* Using next-sass */
|
|
/*
|
|
for (let entry of options.defaultLoaders.sass) {
|
|
if (entry.loader === 'css-loader') {
|
|
entry.loader = 'typings-for-css-modules-loader';
|
|
break;
|
|
}
|
|
}
|
|
*/
|
|
|
|
/* Using next-stylus */
|
|
/*
|
|
for (let entry of options.defaultLoaders.stylus) {
|
|
if (entry.loader === 'css-loader') {
|
|
entry.loader = 'typings-for-css-modules-loader';
|
|
break;
|
|
}
|
|
}
|
|
*/
|
|
}
|
|
|
|
return config
|
|
}
|
|
}))
|