React-scripts 如何快速創建調試一個Demo程序

React實戰-如何快速創建調試一個Demo程序

React是單一頁面程序,因此需要我們在創建React項目時需要做很多配置、解析等工作,嚴重影響着我們在編寫demo時的情緒和效率。

通常的方式我們需要做以下幾步(:

1. 創建配置文件package.json

定義項目所需的React程序包:

{
  "name": "routerdemo",
  "version": "0.0.1",
  "private": true,
  "devDependencies": {
    "react-scripts": "^0.4.0"
  },
  "dependencies": {
    "react": "^15.3.0",
    "react-dom": "^15.3.0",
    "react-redux": "^4.4.5",
    "react-router": "^2.6.1",
    "react-router-redux": "^4.0.5",
    "redux": "^3.5.2",
    "redux-undo": "^1.0.0-beta9"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": "./node_modules/react-scripts/config/eslint.js"
  }
}

2. 定義項目文件結構精簡到index.htmlsrc/app.jsassert/bundle.js(解析後的js文件)

3. 定義解析打包源文件爲bound.js的腳本,運行web頁面

光以上3步就讓我們非常頭疼,尤其是第三步,我們需要解析項目中js源文件,打包成一個文件bundle.js,還需要創建一個web應用支撐我們訪問。

4.通過React-Scripts進行調試

幸運的是,在react相關包中,存在一個react-scripts的包能夠幫助我們輕鬆完成第三步,我們只需要做以下幾件事,並滿足一下規則即可方便調試。

config中引入react-scripts

"devDependencies": {
    "react-scripts": "~0.4.0"
  },
"eslintConfig": {
    "extends": "./node_modules/react-scripts/config/eslint.js"
  }


config中加入執行腳步

"scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "eject": "react-scripts eject"
  }


好了,我們以後再測試時,只需要允許npm start即可了,方便太多了。


必須要注意的是:

1、html文件必須爲index.html

2、入口js文件名必須爲index.js

如果不遵守上述兩點,你的解析是不成功的。


5.分析React-Scripts源碼瞭解執行原理

採用React-scripts省去了我們太多事情,但是總還是會好奇,它到底幹了什麼,我們不能只知道使用規則,而不知原理。看看React-scripts的項目配置文件,我們知道它只是幫我們做了我們自己編寫腳本的工作:採用webpack進行源碼解析,至於爲什麼必須使用index.htmlindex.js文件名,以下兩段配置文件說明了原因:

React-scriptspath文件中appHtml: resolveApp('index.html')

React-scriptswebpack.config中:path.join(paths.appSrc, 'index')

在明白了React-scripts的原理情況下,採用npm start命令即可調試項目了,並且在修改源碼時,能理解反應在執行程序裏。不再爲實現個HelloWorld程序煩惱了。


原文地址:http://blog.csdn.net/loveu2000000/article/details/52554800

發佈了23 篇原創文章 · 獲贊 62 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章