A default export is always provided for your CSS module.
import styles from 'my.module.css';
const a = styles.myClass;
const b = styles['my_other-class'];
As of version 1.1.0, you can also use named exports for classes that don't contain hyphens or underscores. You can still access other classes via the default export.
import styles, { myClass } from 'my.module.css';
const a = myClass;
const b = styles['my_other-class'];
Options
Option
Default value
Description
customMatcher
"\\.module\\.(c\|le\|sa\|sc)ss
quot;
Change the file extensions that this plugin works with.
By default, VSCode will use it's own version of TypeScript. To make it work with this plugin, you have two options:
Use your workspace's version of TypeScript, which will load plugins from your tsconfig.json file. This is the recommended approach. For instructions, see: Using the workspace version of TypeScript.
Add this plugin to "typescript.tsserver.pluginPaths" in settings. Note that this method doesn't currently support plugin options.
Note: Create React App users can skip this section if you're using react-scripts@2.1.x or higher.
If your project doesn't already have global declarations for CSS Modules, you will need to add these to help TypeScript understand the general shape of the imported CSS during build.
Where you store global declarations is up to you. An example might look like: src/custom.d.ts.
The below is an example that you can copy or modify. If you use a customMatcher, you'll need to modify it.