码迷,mamicode.com
首页 > Web开发 > 详细

[Webpack + React] Import CSS Modules with TypeScript and webpack

时间:2018-01-26 23:02:01      阅读:819      评论:0      收藏:0      [点我收藏+]

标签:order   ons   ade   generate   --   ack   instead   install   log   

If you try to use CSS Modules in TypeScript the same way you would use them in JavaScript, with webpack’s css-loader, you’ll see an error: ”TS2307: Cannot find module ‘./styles.css‘”. typings-for-css-modules-loader is a drop-in replacement for css-loader that works with TypeScript and generates typings for CSS on the fly.

You’ll need to install dependencies first:

npm install --save-dev css-loader typings-for-css-modules-loader

 

Webpack:

...
{
                test: /\.css$/,
                include: path.join(__dirname, src),
                use: [
                    style-loader,
                    {
                        loader: typings-for-css-modules-loader,
                        options: {
                            modules: true,
                            namedExport: true,
                            camelCase: true,
                        },
                    },
                ],
            },
...

 

css:

.salmon-button {
    padding: 0.5em 1em;
    background: snow;
    color: salmon;
    border: 1px solid salmon;
    border-radius: 3px;
    font-size: 1.6em;
    font-weight: bold;
}

 

js:

With camelCase turned on in Webpack, we can do:

import * as styles from ‘./index.css‘;

const html = `<button class=${styles.salmonButton}>Click me!</button>`;
document.getElementById(‘app‘).innerHTML = html;

Instead of:

styles[‘salmon-button‘]

 

[Webpack + React] Import CSS Modules with TypeScript and webpack

标签:order   ons   ade   generate   --   ack   instead   install   log   

原文地址:https://www.cnblogs.com/Answer1215/p/8361472.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!