# 打开配置项
由于 create-react-app 找不到配置项,需要输入一下命令,这个一个不可逆过程,一旦你执行了,就不能回到初始化
npm run eject
# 安装 scss
cnpm i sass-loader node-sass --save-dev
# 引入 scss 全局变量
- 打开 config/webpack.config.js
- 找到如下代码
{
test: sassRegex,
exclude: sassModuleRegex,
use: getStyleLoaders(
{
importLoaders: 2,
sourceMap: isEnvProduction && shouldUseSourceMap,
},
'sass-loader'
),
// Don't consider CSS imports dead code even if the
// containing package claims to have no side effects.
// Remove this when webpack adds a warning or an error for this.
// See https://github.com/webpack/webpack/issues/6571
sideEffects: true,
}
- 修改成
{
test: sassRegex,
exclude: sassModuleRegex,
// 看源码可以看出来 getStyleLoaders 返回的是一个数组,所以我们可以用 concat把他合并
use: getStyleLoaders(
{
importLoaders: 2,
sourceMap: isEnvProduction && shouldUseSourceMap,
},
'sass-loader'
).concat({
// 这行的意思是引入加载器 sass-resources-loader
loader: 'sass-resources-loader',
options: {
// 这里是需要引入全局的资源文件,它可以是一个字符串或者是一个数组, 通常用数组去代替。
resources: ['xxx.scss']
}
}),
// Don't consider CSS imports dead code even if the
// containing package claims to have no side effects.
// Remove this when webpack adds a warning or an error for this.
// See https://github.com/webpack/webpack/issues/6571
sideEffects: true,
},
- 重新启动项目
# 安装使用mobx和mobx环境依赖
- 安装装饰器所需依赖
npm install --save-dev babel-plugin-transform-decorators-legacy
- 安装应用配置
npm install @babel/plugin-proposal-decorators
- 安装mobx和mobx-react
npm install mobx --save
npm install mobx-react
- 配置package.json
"babel": {
"plugins": [
[
"@babel/plugin-proposal-decorators",
{
"legacy": true
}
],
[
"@babel/plugin-proposal-class-properties",
{
"loose": true
}
]
],
"presets": [
"react-app"
]
}
← 环境搭建