create-react-app+mobx(+装饰器)+antd 一步一步搭建过程

全局安装

npm install -g create-react-app yarn
//yarn  这是一个类npm 的管理工具 挺好用的 安装包可以离线安装  安装过一次 不需要重复请求外网

create-react-app 你的项目名字
//创建项目 

然后开始安装配置 和工具
下面是antd官方网站引入的解释 和步骤
详情自己看下就好了很简单的

//安装antd ui库
yarn add antd

按需加载的方式antd

//引入 react-app-rewired 并修改 package.json 里的启动配置。
yarn add react-app-rewired
/* package.json */
"scripts": {
"start": "react-app-rewired start",
 "build": "react-app-rewired build",
 "test": "react-app-rewired test --env=jsdom",
}

然后在项目根目录创建一个 config-overrides.js 用于修改默认配置。

module.exports = function override(config, env) {
  // do stuff with the webpack config...
  return config;
};

使用 babel-plugin-import#
babel-plugin-import 是一个用于按需加载组件代码和样式的 babel 插件(原理),现在我们尝试安装它并修改 config-overrides.js 文件。

yarn add babel-plugin-import
//config-overrides.js
+ const { injectBabelPlugin } = require('react-app-rewired');

  module.exports = function override(config, env) {
+   config = injectBabelPlugin(
+     ['import', { libraryName: 'antd', libraryDirectory: 'es', style: 'css' }],
+     config,
+   );
    return config;
  };

自定义主题

$ yarn add react-app-rewire-less
//照 配置主题 的要求,自定义主题需要用到 less 变量覆盖功能。我们可以引入 react-app-rewire 的 less 插件 react-app-rewire-less 来帮助加载 less 样式,同时修改 config-overrides.js 文件。
  const { injectBabelPlugin } = require('react-app-rewired');
+ const rewireLess = require('react-app-rewire-less');

  module.exports = function override(config, env) {
    config = injectBabelPlugin(
-     ['import', { libraryName: 'antd', libraryDirectory: 'es', style: 'css' }],
+     ['import', { libraryName: 'antd', libraryDirectory: 'es', style: true }], // change importing css to less
      config,
    );
+   config = rewireLess.withLoaderOptions({
+     modifyVars: { "@primary-color": "#1DA57A" },
+     javascriptEnabled: true,
+   })(config, env);
    return config;

//下面开始装 mobx

    npm install mobx-react mobx  --save

如果不使用装饰器到此为止了

装饰器 是es7里面的 目前 有个比较high外国blog配置好了关于这个东西

第一步先把webpack 暴露出来 即使用 npm run eject 把react-script 里面的webpack配置全部暴露出来 然后 你仔细看的话会发现多了好多东西 稍微花点心思看下 挺好 , 至少不用在 npm start 报错之后去百度 一堆 不相关的关键字,

然后 接着装相关依赖

npm install --save-dev babel-plugin-transform-decorators-legacy
//package.json
"babel": {
  "plugins": [
    "transform-decorators-legacy"
  ],
  "presets": [
    "react-app"
  ]
},

然后 你就该启动项目了

npm start

然后你就看到报错了 unfind’react-script/**
接着你就去 node_modules里面找
诶 我曹 真不见了
不见了 就蒙圈了 这玩意儿 不是官方配置的webpack 便民启动包 么
这么 一顿瞎鸡儿操作 就没了
这个东西就是你在执行了npm run eject 之后被删除的 而且是工程不可逆的;
当然他给你关闭了一扇大门 就会给你开个狗洞

这里写图片描述

嗯嗯 所以 当你用完 npm run eject 之后 我们需要进一步修改package.json
···
“scripts”: {
“start”: “node scripts/start.js”,
“build”: “node scripts/build.js”,
“test”: “node scripts/test.js –env=jsdom”
},
···

改完之后 可以试试 npm start 或者 yarn start
如果依旧报错了类似于下图中的处理包遗漏了的问题

上图顺序为
npm run eject
yarn start ==>得到报错
重新安装过包
npm i

good luck(如果你按照这玩意儿走了一遍还有问题 请不要再下面问我 我也是个菜鸟 我反正用这个没问题 没办法 人菜就这么任性 最后那个blog 和第一个blog 都是大佬 有问题去问他们吧)
成功

如果非要用react-script的话 请执行

create-react-app 你的工程名

后面附上 优秀连接
添加装饰器的blog

mobx状态管理官网

antd官网

这个blog非常好 react 应用中使用装饰器

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值