Create-React-App建立antd-mobile開發環境(學習中的記錄)

來源:互聯網
上載者:User

標籤:lin   script   連結   路徑   方便   找不到   str   src   cal   

(參考別人結合自己的整理得出,若有錯誤請大神指出)

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開發環境(學習中的記錄)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.