[React] {svg, css module, sass} support in Create React App 2.0

create-react-app version 2.0 added a lot of new features.

One of the new features is added the svgr webpack loader to wrap SVGs in React components as a named export. This let’s you either grab the filename from the default export or grab a wrapped SVG component depending on your needs.

Second of the new features is support for Sass. If you start to use Sass, create-react-app will give you an error, but will give detailed instructions on how you can add Sass support to your project.

Thrid features is to add CSS Module support. CSS Modules automatically scope class names and animation names local by default to get around the problem of global name clashes. You can learn more by looking at the CSS Modules repository.

import React, {Component} from ‘react‘;
// ReactComponent support svg
import logo, {
    ReactComponent as ReactLogo
} from "./logo.svg";
import ‘./App.scss‘;
// Supoort
import styles from ‘./styles.module.css‘;

class App extends Component {
    render() {
        return (
            <div className="App">
                <header className="App-header">
                    <!-- Using svg -->
                    <ReactLogo className="App-logo-svg" alt="logo"/>
                    <img src={logo} className="App-logo" alt="logo"/>
                    <p>
                        Edit <code>src/App.js</code> and save to reload.
                    </p>
                    <a
                        className="App-link"
                        href="https://reactjs.org"
                        target="_blank"
                        rel="noopener noreferrer"
                    >
                        Learn React
                    </a>
                    <!-- Using css module -->
                    <a
                        className={styles[‘error‘]}
                        href="https://reactjs.org"
                        target="_blank"
                        rel="noopener noreferrer"
                    >
                        Learn React
                    </a>
                </header>
            </div>
        );
    }
}

export default App;

App.scss:

.App-logo-svg {
  height: 40vmin;
  & g {
    fill: salmon;
  }

  & path {
    stroke: palegoldenrod;
    fill: none;
    stroke-width: 10px;
    stroke-dasharray: 35px 15px;
    animation: orbit 1s infinite linear;
  }
}

@keyframes orbit { to { stroke-dashoffset: 50px; } }

styles.module.css:

.warning {
    color: black;
    background-color: yellow;
}

.error {
    color: white;
    background-color: red;
}

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

时间: 2024-08-10 11:20:36

[React] {svg, css module, sass} support in Create React App 2.0的相关文章

react看这篇就够了(react+webpack+redux+reactRouter+sass)

本帖将对一下内容进行分享: 1.webpack环境搭建: 2.如何使用react-router: 3.引入sass预编译: 4.react 性能优化方案: 5.redux结合react使用: 6.fetch使用: 7.项目目录结构: 一.webpack配置,代码如下: 1.在根目录下新建一个webpack.config.js,这个为开发环境的webpack配置:因为得区分开发跟生产环境,所以还得新建一个webpack.production.config.js作为生产环境使用的配置文档, webp

React漫漫学习路之 利用Create React App命令创建一个React应用

所谓万事开头难,本文旨在为初探React的同学,建立第一个最基本的react应用. Create React App是Facebook官方的一个快速构建新的 React 单页面应用的脚手架工具,它可以帮你配置开发环境,以便你可以使用最新的 JavaScript 特性,还能提供很棒的开发体验,并为生产环境优化你的应用.(如果你使用过vue-cli构建vue应用,那么此处可类比) 话不多说,直接开始. 安装 全局安装create-react-app npm install -g create-rea

前端编码规范(4)—— CSS 和 Sass (SCSS) 规范

CSS and Sass (SCSS) style rules ID and class naming ID和class(类)名总是使用可以反应元素目的和用途的名称,或其他通用名称.代替表象和晦涩难懂的名称. 应该首选具体和反映元素目的的名称,因为这些是最可以理解的,而且发生变化的可能性最小. 通用名称只是多个元素的备用名,他们兄弟元素之间是一样的,没有特别意义. 区分他们,使他们具有特殊意义,通常需要为“帮手”. 尽管class(类)名和ID 的语义化对于计算机解析来说没有什么实际的意义, 语

css之Sass

sass跟less一样都是动态的样式表语言,但sass的功能更强大一些.不管使用哪一种,他们都是使编写 CSS 的工作变得非常简单. 基本功能就不介绍了,它与less相似,列举一些区别就好. 1.导入样式 关键字 @import 直接css文件 @import "index.css"; 直接sass文件 @import "index"; 可以省略后缀名,但注意的是sass合并sass文件 2.方法: 声明变量的时候,变量必须在前面:有利于后期的修改和维护: !def

React中css的使用

网页的布局.颜色.形状等UI展示方式主要是由Css进行设置,在ReactJs中也是一样.ReactJs中的Css结构方式与传统的Web网页类似,但依然存在一些差异.ReactJs中Css文件本身的编写上并没有差异,我们可以定义特定的样式类名,也可以正对Html元素定义样式.差异主要在React对Css的使用上 引用的差异: 传统html文件中css文件引用方式: <link rel="stylesheet" type="text/css" href="

Atom编辑器折腾记_(10)CSScomb增强版[CSS/LESS/SASS]

何为CSScomb 官方网站只有一句描述: Makes your code beautiful(让你的代码更漂亮) 通俗点讲: CSScomb是用来排版CSS代码的-可以说是格式化插件,依赖nodejs 获取CSScomb–这不是今天的话题 官方网站: CSScomb 支持许多编辑器,比如Sublime/Atom/brackets等 第三方CSScomb-这才是今天的话题 昨天写了篇CSS3的文章-发现代码有点混乱..人力排版有点--.所以跑去atom插件库寻找csscomb Atom -> s

vue css module

<template> <div :class="$style.header"></div> </template> <style module> .header { color: #555; } </style> 步骤 module <style> -> <style module> class='header' -> :class='$style.header' 原理 $sty

前端如何入门面对传统的html,css,js,三大框架react,vue,angular?

前端入门需要学习 A基础知识部分 1.html一些新的标签,html不仅仅包括div,span 2.css3,一些新的语法,布局,例如flex弹性布局,less,sass都是啥 3.DOM树结构,盒模型(margin,padding,border)不同浏览器层次不一样,尤其IE 4.数据交互插件,ajax,fetch,axios等等,要求自己能封装出一个ajax类,供自己用 B前端环境,软件 nodejs,npm 1.了解node,npm是干什么的,为什么前端要用这些 2.自己搜索npm官网,c

【react自制全家桶】一、Webstrom+React+Ant Design+echarts搭建react项目

前言 一.React是Facebook推出的一个前端框架,之前被用于著名的社交媒体Instagram中,后来由于取得了不错的反响,于是Facebook决定将其开源.出身名门的React也不负众望,成功成为当前最火热的三大前端框架之一.相比于Angular,React更加轻量.而相对于另一个轻量级前端框架Vue来说,React虽然学习和使用起来难度稍微大一些,但是React的社区相对来说人气更旺,而且在移动端的开发上面,大名鼎鼎的React Native更是尽显优势,在代码性能上要好过Vue框架.