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

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. jQuery基础应用

    什么是 jQuery ? jQuery是一个JavaScript函数库. jQuery是一个轻量级的"写的少,做的多"的JavaScript库. jQuery库包含以下功能: HT ...

  2. mysql启动时报错:Starting MySQL... ERROR! The server quit without updating PID file (/opt/mysql/data/mysql.pid) 的解决方法

    出现问题的可能性 1.可能是/opt/mysql/data/数据目录mysql用户没有权限(修改数据目录的权限) 解决方法 :给予权限,执行  "chown -R mysql.mysql / ...

  3. 通过xinetd服务管理 rsync 实现开机自启动

    1.1 xinetd服务配置 1.1.1 检查xinetd服务是否安装 [root@backup ~]# rpm -qa xinetd [root@backup ~]# rpm -ql xinetd ...

  4. Hive简单安装

    数据库的创建 Hive1版本 在此之前要安装好JDK,HADOOP,下载解压Hive 在root下安装mysql:yum install mysql-server mysql-client //一般M ...

  5. JsDoc脚本注释文档生成

    使用jsDoc可使用特定注释,将注释的内容生成文档,可用于生成脚本库的API文档 jsdoc 文档:   http://usejsdoc.org/

  6. JS中的this的应用总结

    简述this的用法 "this是由被调用的方式确定"这个事实,使得this可以被改变,从而为函数增加了动态性,可变性,使得变成更加灵活.目前因为工作经验有限,暂时总结一下五种情况下 ...

  7. ueditor精简插件和减少初次加载文件的方法

    ueditor初次使用的时候加载的文件大小大概有1MB还要多,这个页面的打开速度相对来说是很慢很慢的. 其实通常我们并不需要ueditor的全部功能,通过chromedev工具发现初次加载的时候就调用 ...

  8. 关于thinkphp控制器引用model里的方法的一点收获

    有时候真的是很绕,为了这一点点收获,我几乎花了一天的时间.当我弄明白了的那一刻,我.........好吧,写到这里,我发现不能换行.好吧,就这样吧,开始说正题:要想在controler从model引用 ...

  9. js基础01

    常见的五大浏览器:chrome firfox ie opera safari 浏览器的解析器会把代码解析成用户所能看到的东西 www.2cto.com/kf/201202/118111.html浏览器 ...

  10. [转载] 快速理解Kafka分布式消息队列框架

    转载自http://blog.csdn.net/xiaolang85/article/details/18048631 ==是什么 == 简单的说,Kafka是由Linkedin开发的一个分布式的消息 ...