(参考别人结合自己的整理得出,若有错误请大神指出)

Facebook 官方推出Create-React-App脚手架,基本可以零配置搭建基于webpack的React开发环境,内置了热更新等功能。

详细文档可前往链接:Create-React-App文档

本文将介绍使用Create-React-App脚手架搭建antd-mobile的开发环境。

快速开始:

npm install -g create-react-app       /* 安装create-react-app,建议使用cnpm */

create-react-app myapp                 /* 使用命令创建应用,myapp为项目名称 */

cd myapp                                        /* 进入目录,然后启动 */

npm start                                    /*启动运行*/

按以上执行,即可快速创建一个React开发环境。

会自动打开默认浏览器 http://localhost:3000/

环境配置介绍:

一、项目结构:

生成项目后,脚手架为了“优雅”... ...隐藏了所有的webpack相关的配置文件,此时查看myapp文件夹目录,会发现找不到任何webpack配置文件。执行以下命令:

npm run eject

查看myapp 文件夹,可以看到完整的项目结构:

myapp/     

    node_modules/   /*这个是所有下载的依赖*/

    package.json

    .gitignore

    config/

        paths.js

        polyfills

        env.js

        webpack.config.dev.js

        webpack.config.prod.js

    public/

        index.html   /* 入口html文件 */

    scripts/

        <b>build.js</b>    /*打包命令配置文件*/

        <b>start.js</b>    /*启动命令配置文件*/

        test.js

    src/

        App.js

        index.js    /* 主入口文件 */

二、项目配置介绍

放上webpack  、npm   的充电传送门: 【webpack学习教程】

查看package.json文件的scripts,

"scripts": {

    "start": "node scripts/start.js",

    "build": "node scripts/build.js",

},

可知,运行时是直接执行scripts文件目录下的js文件。

其中*start.js*为开发环境,*build.js*为打包脚本。

build.js    此处打包 生成的 文件 路径引用有问题

解决方法在另外一片文章中react.js - 基于create-react-app的打包后文件根路径修改

SASS、LESS等CSS预处理器配置

Facebook官方在create-react-app升级到某一版本,突然丢掉了默认对sass、less等预处理器的支持,官方文档说明

于是,只能自己动手,在config目录下,webpack.config.dev.js 和 webpack.config.prod.js文件,没有抽出 loader、postcss之类一般共用的配置,于是,在两个文件夹都要一起配置,也可以抽出共用部分,以便维护。

这里以webpack.config.dev.js举例,webpack.config.prod.js一样配置即可:

SASS-loader:

1、命令行,在当前目录执行:

npm install sass-loader node-sass --save-dev

2、找到webpack.config.dev.js文件中 loaders中的第一项exclude(值为数组),排除scss文件,否则将被'url-loader'捕获。

{

exclude: [

    /\.html$/,

    /\.(js|jsx)(\?.*)?$/,

    /\.css$/,

    /\.json$/,

    /\.svg$/,

    /\.scss$/     ....新增项!

]

3、loaders新增一项:

{

    test: /\.scss$/,

    loader: 'style!css!postcss!sass?outputStyle=expanded'

},

至此,SASS文件就可以正常打包了(此处针对SCSS文件,如用到SASS,可将SCSS的正则修改下),LESS文件类似,不再赘述。

三、antd-mobile的引入及配置

在命令行执行:

npm install antd-mobile --save

移动端高清方案

因0.8以后的版本引入移动端高清方案,因此需要在webpack等增加相应配置,**必须配置!**,官方说明 按官方说明配置即可。

按需引入

为减少打包后体积以及方便书写,可用babel-plugin-import插件,配置后引入模块可如下:

import {Picker} from 'antd-mobile';

自动引入CSS和JS,无需再引入整个antd-mobile的整个CSS文件

使用如下:

命令行执行:

npm install babel-plugin-import --save-dev

安装完毕后,在根目录新建文件,命名: .babelrc.js

{

  "presets": [

    "es2015",

    "react"

  ],

  "plugins": [

    [

      "import",

        {

          "libraryName": "antd-mobile",

          "style": "css"

        }

      ]

    ]

}

在文件内输入以上内容,为babel的配置。

然后!!!最重要的一步,把package.json中的babel配置给删掉,尤其是:react-app!!!

webpack.config.dev.js和webpack.config.prod.js中,都需要为resolve的extensions新增一项'.web.js'

antd-mobile的web版的文件后缀为.web.js ...

四、杂项

React-Router版本

现在最新版本React-Router为4.x.x,与原用的2.x.x的API变化稍大(官方直接跳过了3...),如需使用2.x.x版本,可先卸载router,执行命令

pm remove react-router --save

然后在package.json中dependencies新增字段:

"react-router": "^2.0.0 < 3.0.0",

接着执行:

npm install

到这里,就算搭建完开发环境了,可以正常进行开发了。

大部分参考 :简书 邱鹏城, 如有转载请@出处

Create-React-App创建antd-mobile开发环境(学习中的记录)的更多相关文章

  1. create react app 项目部署在Spring(Tomcat)项目中

    网上看了许多,大多数都是nginx做成静态项目,但是这样局限性太多,与Web项目相比许多服务端想做的验证都很麻烦,于是开始了艰难的探索之路,终于在不经意间试出来了,一把辛酸... 正常的打包就不说了. ...

  2. 如何扩展 Create React App 的 Webpack 配置

    如何扩展 Create React App 的 Webpack 配置  原文地址https://zhaozhiming.github.io/blog/2018/01/08/create-react-a ...

  3. 深入 Create React App 核心概念

    本文差点难产而死.因为总结的过程中,多次怀疑本文是对官方文档的直接翻译和简单诺列:同时官方文档很全面,全范围的介绍无疑加深了写作的心智负担.但在最终的梳理中,发现走出了一条与众不同的路,于是坚持分享出 ...

  4. 在 .NET Core 5 中集成 Create React app

    翻译自 Camilo Reyes 2021年2月22日的文章 <Integrate Create React app with .NET Core 5> [1] Camilo Reyes ...

  5. 从零开始,创建GitHub团队开发环境

    从零开始,创建GitHub团队开发环境 GitHub提供免费的团队环境,不过免费仓库容量是300MB,请大家注意. 申请GitHub个人账号 1. 使用浏览器访问GitHub主页.如果使用IE,尽量不 ...

  6. tap news:week5 0.0 create react app

    参考https://blog.csdn.net/qtfying/article/details/78665664 先创建文件夹 安装create react app 这个脚手架(facebook官方提 ...

  7. 使用create react app教程

    This project was bootstrapped with Create React App. Below you will find some information on how to ...

  8. ubuntu下创建虚拟python3开发环境

    友情链接:ubuntu16.04下安装python3+创建虚拟python3开发环境 1.为什么要创建python3虚拟开发环境? /********************************* ...

  9. VMware下Debian开发环境部署之常见问题记录

    本文讲介绍windows作为宿主机,linux虚拟机作为编译环境的开发环境搭建中最常用到的三个问题,详细描述了解决过程. 目录: 1.网路配置: 2.分辨率设置: 3.共享网盘设置: 1.网络设置,V ...

随机推荐

  1. NFS存储服务部署

    第1章 NFS介绍 1.1 NFS服务内容的概述 □ RPC服务知识概念介绍说明,以及RPC服务存在价值(必须理解掌握) □ NFS服务工作原理讲解(必须理解掌握) □ NFS共享文件系统使用原理讲解 ...

  2. javabean 和 xml 互转

    1.场景描述 将javabean对象转换为xml字符串,将xml字符串转换为javabean对象. 2.maven依赖 <dependency> <groupId>jdom&l ...

  3. CUDA C Best Practices Guide 在线教程学习笔记 Part 1

    0. APOD过程 ● 评估.分析代码运行时间的组成,对瓶颈进行并行化设计.了解需求和约束条件,确定应用程序的加速性能改善的上限. ● 并行化.根据原来的代码,采用一些手段进行并行化,例如使用现有库, ...

  4. log4donet 的 一篇简单使用实例

    背景 最近在写一个Adapter,需要调用别的程序的DLL. Adapter使用的是C#还有.net的等方面的技术.今天在写log这块,就像尝试一下有没有“轮子”可以试试的.在网上搜罗了一番之后,决定 ...

  5. OOA、OOD、OOP分别是什么?

    什么是面向对象分析(OOA)? "面向对象分析是一种分析方法,这种方法利用从问题域的词汇表中找到的类和对象来分析需求." 什么是面向对象设计(OOD)? "面向对象设计是 ...

  6. Page visibility 页面可见性

    一直以来,判断页面是不是当前可见标签,浏览器有没有缩小都是比较麻烦的.   通过页面可见性API可以获得相关信息document.hidden  判断页面当前是不是可见的document.visibi ...

  7. Java面试题-2

    程序员面试之九阴真经 谈谈final, finally, finalize的区别: final:::修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承.因此 ...

  8. Django----中间件详解

    Django中间件 在http请求 到达视图函数之前   和视图函数return之后,django会根据自己的规则在合适的时机执行中间件中相应的方法. 中间件的执行流程 1.执行完所有的request ...

  9. Nginx实现负载均衡&Nginx缓存功能

    一.Nginx是什么 Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambl ...

  10. 学习RocketMQ (一) 安装并且启动MQ

    1.使用RocketMQ 的 软件要求 64bit OS, Linux/Unix/Mac is recommended;64bit JDK 1.8+;Maven 3.2.xGit 1)安装Linux ...