1.項目初始化css
2.提高開發體驗html
3.整理項目和雜項node
4.項目打包react
5.團隊規範webpack
css-loader
的 css module 功能,並動態生成.scss
的.d.ts
文件由於模板是爲之後項目開發所準備的前奏工做,因此在搭建以前我以爲首先須要先考慮如下幾個方面:ios
前置安裝 首先須要全局安裝typescript,這裏默認你們都已經安裝了node以及npm npm install -g typescript
git
首先新建文件夾並進入 mkdir ts-react && cd ts-react
es6
而後進行初始化,生成package.json
和tsconfig.json
npm init -y && tsc --init
github
安裝開發工具 這裏包含有webpack4, webpack-cli, webpack-dev-server
npm install-D webpack webpack-cli webpack-dev-server
web
安裝react相關 由於須要整合ts,而react本來的包是不包含驗證包的,因此這裏也須要安裝相關ts驗證寶 npm install -S react react-dom
npm install -D @types/react @types/react-dom
安裝ts-loader
(或者awesome-typescript-loader
) 這兩款loader用於將ts代碼編譯成js代碼,用法上差別較小,這裏選擇的是awesome-typescript-loader
npm install -D awesome-typescript-loader
這個時候基本的安裝步驟就完成了,之後須要什麼再陸續添加進去,如今開始建立項目
webpack配置
在項目根目錄新建一個build
文件夾,而後在裏面新建webpack.config.js
文件: mkdir build && cd build && touch webpack.config.js
根目錄下新建src文件夾,而後在src裏新建index.tsx
文件做爲項目入口: mkdir src && cd src && touch index.tsx
編寫簡單的webpack配置,只包含entry
和output
:
編寫awesome-typescript-loader
配置項: 在webpack中的module是專門用來決定如何處理各類模塊的配置項,例如本例中的typescript,這裏主要用的配置項就是module.rules
,而當前只須要簡單配置解析.tsx
文件類型便可
在src/index.tsx
中寫入口文件
tsconfig
裏面沒有指定JSX
的版本,這時候在tsconfig
的compilerOptions
中添加"jsx": "react"
配置項便可消除錯誤 此外還須要注意一點,之後須要import xxx from 'xxx'
這樣的文件的話須要在webpack中的resolve
項中配置extensions
,這樣之後引入文件就不須要帶擴展名
添加頁面模板: 在build
文件夾下新建文件夾tpl
,而後在tpl
中新建一個index.html
,以下:
html-webpack-plugin
配置html-webpack-plugin
: 首先咱們安裝一下npm install -D html-webpack-plugin
,而後在webpack的plugins配置項下進行一些簡單配置:
8 . 配置tsconfig
tsconfig
配置中,會發如今compilerOptions
配置項的target
是es5
,也就是說把ts代碼編譯成es5規範的代碼,若是不作兼容的話,咱們能夠將它設置爲es6,使其編譯成es6的代碼module
項中,會發現生成的是commonjs
的模塊系統,由於不考慮兼容,因此這裏我也將其設定爲最新的esnext
,而且將模塊處理方式改成用node來處理,設置moduleResolution
項爲node
,不作模塊處理方式設置的話可能會有報錯
9 . 項目啓動 這時候咱們能夠在package.json
中添加啓動命令 "dev": "webpack-dev-server --config build/webpack.config.js --mode development"
, 其中--mode development
用於指定開發模式,不然在webpack4+版本下會有警告 而後直接npm run dev
便可
其實這個時候項目其實就已經跑起來了,徹底能夠不用往下看,可是實際上的工做並無作完,下一章就開始講解如何提升開發體驗