|
@@ -51,6 +51,8 @@ const cssRegex = /\.css$/;
|
|
|
const cssModuleRegex = /\.module\.css$/;
|
|
|
const sassRegex = /\.(scss|sass)$/;
|
|
|
const sassModuleRegex = /\.module\.(scss|sass)$/;
|
|
|
+const lessRegex = /\.less$/;
|
|
|
+const lessModuleRegex = /\.module\.less$/;
|
|
|
|
|
|
// This is the production and development configuration.
|
|
|
// It is focused on developer experience, fast rebuilds, and a minimal bundle.
|
|
@@ -112,20 +114,33 @@ module.exports = function(webpackEnv) {
|
|
|
},
|
|
|
].filter(Boolean);
|
|
|
if (preProcessor) {
|
|
|
- loaders.push(
|
|
|
- {
|
|
|
- loader: require.resolve('resolve-url-loader'),
|
|
|
- options: {
|
|
|
- sourceMap: isEnvProduction && shouldUseSourceMap,
|
|
|
- },
|
|
|
- },
|
|
|
- {
|
|
|
- loader: require.resolve(preProcessor),
|
|
|
+ // loaders.push(
|
|
|
+ // {
|
|
|
+ // loader: require.resolve('resolve-url-loader'),
|
|
|
+ // options: {
|
|
|
+ // sourceMap: isEnvProduction && shouldUseSourceMap,
|
|
|
+ // },
|
|
|
+ // },
|
|
|
+ // {
|
|
|
+ // loader: require.resolve(preProcessor),
|
|
|
+ // options: {
|
|
|
+ // sourceMap: true,
|
|
|
+ // },
|
|
|
+ // }
|
|
|
+ // );
|
|
|
+ let loader = require.resolve(preProcessor)
|
|
|
+ if (preProcessor === "less-loader") {
|
|
|
+ loader = {
|
|
|
+ loader,
|
|
|
options: {
|
|
|
- sourceMap: true,
|
|
|
+ lessOptions: {
|
|
|
+ modifyVars: { '@primary-color': '#007bff', '@font-size-base': '12px' },
|
|
|
+ javascriptEnabled: true,
|
|
|
+ },
|
|
|
},
|
|
|
}
|
|
|
- );
|
|
|
+ }
|
|
|
+ loaders.push(loader);
|
|
|
}
|
|
|
return loaders;
|
|
|
};
|
|
@@ -498,6 +513,32 @@ module.exports = function(webpackEnv) {
|
|
|
'sass-loader'
|
|
|
),
|
|
|
},
|
|
|
+ // Opt-in support for SASS (using .scss or .sass extensions).
|
|
|
+ // By default we support SASS Modules with the
|
|
|
+ // extensions .module.scss or .module.sass
|
|
|
+ {
|
|
|
+ test: lessRegex,
|
|
|
+ exclude: lessModuleRegex,
|
|
|
+ use: getStyleLoaders(
|
|
|
+ {
|
|
|
+ importLoaders: 2,
|
|
|
+ },
|
|
|
+ 'less-loader'
|
|
|
+ )
|
|
|
+ },
|
|
|
+ // Adds support for CSS Modules, but using SASS
|
|
|
+ // using the extension .module.scss or .module.sass
|
|
|
+ {
|
|
|
+ test: lessModuleRegex,
|
|
|
+ use: getStyleLoaders(
|
|
|
+ {
|
|
|
+ importLoaders: 2,
|
|
|
+ modules: true,
|
|
|
+ getLocalIdent: getCSSModuleLocalIdent,
|
|
|
+ },
|
|
|
+ 'less-loader'
|
|
|
+ ),
|
|
|
+ },
|
|
|
// "file" loader makes sure those assets get served by WebpackDevServer.
|
|
|
// When you `import` an asset, you get its (virtual) filename.
|
|
|
// In production, they would get copied to the `build` folder.
|