[note] 使用 create-react-app 建立專案(react-cli)
啟動專案:
# 啟動專案
# npm install create-react-app
$ npx create-react-app my-app
$ npx create-react-app my-app-with-redux --template redux
$ npx create-react-app my-app-with-typescript --template typescript
$ cd my-app
$ npm start
安裝 react-router:
# 安裝 react-router
$ npm install --save react-router-dom
安裝 SASS:
# 安裝 SASS
$ npm install node-sass --save
Development
使用 https 啟動專案
把 package.json
中的指令改成即可:
{
"start": "HTTPS=true react-scripts start"
}
若是使用 webpack cli 啟動專案則可以使用:
$ webpack-dev-server --https
Building Your App
Importing a Component
keywords: alias
Absolute Imports
在專案的根目錄底下可以新增一支 jsconfig.json
的檔案:
// ./jsconfig.json
{
"compilerOptions": {
"baseUrl": "src"
},
"include": ["src"]
}
⚠️ 如果使用的是 TypeScript,則把上面的設定加到
tsconfig.json
中即可。
如此就可以使用絕對路徑的方式來載入模組:
// 原本寫
// import Button from './components/Button';
// 設定後所有路徑都會以 /src 開始,因此可以改成
import Button from 'components/Button';
Adding TypeScript
Adding TypeScript @ create-react-app
$ npx create-react-app my-app --template typescript
$ cd my-app
$ npm install --save typescript @types/node @types/react @types/react-dom @types/jest
Advanced Configuration by Builtin ENV
Advanced Configuration @ create-react-app
create-react-app 提供許多可使用的 env 來調整 CRA 的預設行為,使用的方式是在根目錄建立一支 .env
的檔案,接著就可以使用這些變數。
例如:
#.env
BROWSER=none
PORT=1450