摘要:有時候我們在代碼里需要根據環境變量來決定一些邏輯。常見的比如,在測試環境訪問的后端跟正式環境是不一樣的。是個服務于框架的命令行工具,主要就是提供和等命令,屏蔽了的復雜配置,提供了自己的相對簡單的配置能力。顯然,這里的變量配置應當由來處理。
有時候我們在代碼里需要根據環境變量來決定一些邏輯。常見的比如,在測試環境訪問的后端url跟正式環境是不一樣的。
不依賴框架的話,應當是基于webpack的define-plugin實現。如文檔中所示的:
new webpack.DefinePlugin({ PRODUCTION: JSON.stringify(true), VERSION: JSON.stringify("5fa3b9"), BROWSER_SUPPORTS_HTML5: true, TWO: "1+1", "typeof window": JSON.stringify("object") });
回到dva。
dva核心是個基于redux封裝的數據流方案,也可以當成一個輕量級框架。從框架的角度來講,它其實很輕很輕,幾乎沒怎么管數據流之外的事情,只是簡單地集成了少許幾個庫形成一個框架。
roadhog是個服務于框架的命令行工具,主要就是提供dev、build 和 test 等命令,屏蔽了webpack的復雜配置,提供了自己的相對簡單的配置能力。
顯然,這里的變量配置應當由roadhog來處理。不要像我當初一樣覺得dva是個框架就應該有相關功能_(:зゝ∠)_
善用搜索引擎,從roadhog文檔 - define和相關討論容易找到方案。roadhog提供了define選項做DefinePlugin的事情。
具體使用:編輯.webpacrc.js
export default { define: { "process.env": {}, "process.env.NODE_ENV": process.env.NODE_ENV, "process.env.API_ENV": process.env.API_ENV, }, }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/101723.html
摘要:再看本篇文章之前,本人還是建議想入坑的童鞋可以選有來創建的項目,因為現在和還不成熟,坑相對要多一些,當然如果你已經做好跳坑的準備,那么請繼續往下走本文適合對有一定了解的人。 再看本篇文章之前,本人還是建議想入坑react的童鞋可以選有create-react-app來創建react的項目,因為現在dva和roadhog還不成熟,坑相對要多一些,當然如果你已經做好跳坑的準備,那么請繼續往...
摘要:為了折騰,簡單的學習了下感覺確實不錯。也為了不斷學習,避免落伍,所以就折騰不斷。既然這么多項目都提前使用了而我又是的粉,那么還是先研究下實現組件。鑒于本人也是學習,還有太多需要努力的。希望有志同學一起學習探討。 為了折騰, 簡單的學習了下TypeScript, 感覺確實不錯。 也為了不斷學習, 避免落伍, 所以就折騰不斷。 前段時間用ES6,antd+dva寫了一些demo, 發現an...
摘要:注本文是我在開發過程中遇到問題及解決方法的總結,之后會持續更新,希望幫助到更多的學習者。文中有不妥的地方希望指出共同學習,同時歡迎一起補充。 注:本文是我在開發過程中遇到問題及解決方法的總結,之后會持續更新,希望幫助到更多的學習者。文中有不妥的地方希望指出共同學習,同時歡迎一起補充。 npm篇 npm安裝依賴報錯:permission denied,錯誤信息大致如下: npm ERR!...
摘要:項目地址基于構建的移動端單頁微應用,適合于核心概念的理解與掌握。前言這個項目是介于版本之后并且完全仿照功能設計的版本。但隨之而來通常會有這樣的疑問概念太多,并且都是分離的分文件。 react-mobile-starter 項目地址 基于 react + redux + react-router 構建的移動端單頁微應用,適合于react、redux、react-router核心概念的理解...
閱讀 1754·2021-11-25 09:43
閱讀 1789·2021-11-24 10:41
閱讀 3108·2021-09-27 13:36
閱讀 815·2019-08-30 15:53
閱讀 3573·2019-08-30 15:44
閱讀 869·2019-08-30 14:03
閱讀 2578·2019-08-29 16:38
閱讀 1003·2019-08-29 13:23