React CSS 模块使用 SCSS 和全局 Mixins
React CSS Modules using SCSS With global Mixins
我使用的是 aplha 版本的 create-react-app https://github.com/facebook/create-react-app/issues/3815
我已将 css 文件更改为 scss 并将它们重命名为 [文件名].module.scss
所以它使用 css 个模块。
在我的索引中。module.scss 我包括全局样式,然后将其导入 index.js
-index.module.scss
:global(:root) {
@import "./sass/site.scss";
}
-index.js
import './index.module.scss';
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
import * as serviceWorker from './serviceWorker';
ReactDOM.render(<App />, document.getElementById('root'));
serviceWorker.unregister();
里面site.scss我有以下内容
@import "settings/all";
@import "../bootstrap/bootstrap-grid";
@import "tools/all";
@import "generic/generic.reset";
@import "elements/elements.headingspara";
@import "elements/elements.images";
@import "elements/elements.links";
@import "elements/elements.page";
现在在 bootstrap-grid 中我有我想在我的组件中使用的 mixins。
所以在应用程序中。module.scss 我有
.test {
@include make-col-ready();
}
然后在 app.js
上导入
import React, { Component } from 'react';
import style from './App.module.scss';
class App extends Component {
render() {
return (
<div className="container">
<div className="row">
<div className={style.test}>
Test
</div>
</div>
</div>
);
}
}
export default App;
我在 app.modules.scss
中遇到错误
@include make-col-ready();
^
没有名为 make-col-ready
的 mixin
如何全局导入 mixins 和变量?
您可以为此使用 https://github.com/shakacode/sass-resources-loader。
为您找到了一篇描述设置过程的博客 post:
我使用的是 aplha 版本的 create-react-app https://github.com/facebook/create-react-app/issues/3815
我已将 css 文件更改为 scss 并将它们重命名为 [文件名].module.scss 所以它使用 css 个模块。
在我的索引中。module.scss 我包括全局样式,然后将其导入 index.js
-index.module.scss
:global(:root) {
@import "./sass/site.scss";
}
-index.js
import './index.module.scss';
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
import * as serviceWorker from './serviceWorker';
ReactDOM.render(<App />, document.getElementById('root'));
serviceWorker.unregister();
里面site.scss我有以下内容
@import "settings/all";
@import "../bootstrap/bootstrap-grid";
@import "tools/all";
@import "generic/generic.reset";
@import "elements/elements.headingspara";
@import "elements/elements.images";
@import "elements/elements.links";
@import "elements/elements.page";
现在在 bootstrap-grid 中我有我想在我的组件中使用的 mixins。
所以在应用程序中。module.scss 我有
.test {
@include make-col-ready();
}
然后在 app.js
上导入 import React, { Component } from 'react';
import style from './App.module.scss';
class App extends Component {
render() {
return (
<div className="container">
<div className="row">
<div className={style.test}>
Test
</div>
</div>
</div>
);
}
}
export default App;
我在 app.modules.scss
中遇到错误@include make-col-ready(); ^ 没有名为 make-col-ready
的 mixin如何全局导入 mixins 和变量?
您可以为此使用 https://github.com/shakacode/sass-resources-loader。
为您找到了一篇描述设置过程的博客 post: