一個小時搭建一個全棧 Web 應用框架

一個小時搭建一個全棧 Web 應用框架

本文介紹了創建一個簡單的全棧Web應用所需的步驟,其中包括一個Python服務器和一個React前端。你可以輕鬆的在其基礎上進行構建,根據你的實際需求進行修改,或是添加一些其他技術特性,例如Redux。

世界在互聯網的驅動下,計算機的基本技術和簡單工具已經成為現代商業人士的必備技能。本文適合想要學習怎樣製作一個簡單的基於web的應用程序,並且具備基本編程技能的人。

儘管你可以在我的GitHub上找到本文所有的源代碼,但是如果你能夠從頭開始創建這個程序,將會得到最好的學習成果。

關注後私信小編資料即可自動獲取大量Python視頻教程以及各類PDF!

初始項目設置

一個小時搭建一個全棧 Web 應用框架

我們將使用npm包管理器來處理Javascript依賴項。Npm是非常棒的,因為它易於使用,有良好的文檔支持,有將近50萬個包可供使用,以及合理的默認項目設置方案。

使用包管理器可以使您的項目依賴項保持最新狀態,並能夠獲取和安裝最新的包。

讓我們初始化項目:

一個小時搭建一個全棧 Web 應用框架

在初始化的過程中可以接受默認設置,但是你最好填寫自己的程序名稱和Git庫等參數,結束後會自動在你的static目錄下生成一個名為package.json 的文件。

package.json文件有如下幾個作用:

  1. 跟蹤所有的依賴項及其版本。
  2. 它可是使其他開發人員瞭解你的項目,比如應用的名稱、說明、所有者和所在存儲庫的位置。
  3. 可以非常容易的通過npm進行自動化安裝、運行和更新。

安裝和配置Webpack

Webpack是一個模塊打包器。它可以處理你所有的模塊依賴,並生成靜態資源。 使用模塊打包器可以減少瀏覽器需要加載的模塊數量,從而大大縮短了網頁的加載時間。

一個小時搭建一個全棧 Web 應用框架

演示了Webpack是怎樣工作的

安裝Webpack:

一個小時搭建一個全棧 Web 應用框架

要使用Webpack,我們需要添加一個 Webpack 配置文件。這個配置告訴 Webpack 在哪裡可以找到 JavaScript 和 React 文件,以及在哪裡放置生成的JavaScript包。

在static目錄中添加一個名為webpack.config.js的文件,下面的內容如下:

一個小時搭建一個全棧 Web 應用框架

添加運行命令

向package.json文件中添加一些運行命令會是你的開發過程更加順暢。我總是在自己的package.json 文件中添加一些build, dev-buildwatch 命令。

build用於構建生產環境版本, dev-build

用於開發時的構建版本,watch的作用和dev-build類似,只不過可以自動監視項目文件是否修改,並且自動重新構建被修改的部分,你只需要刷新瀏覽器就可以看到改動後的結果。

自動化構建你的項目還有一個好處,那就是你不會耗費時間去思考為什麼修改了代碼卻看不到效果,一般遇到這種情況純粹是因為你忘記了構建它們!

以下是我的 package.json 文件內容:

一個小時搭建一個全棧 Web 應用框架

添加Babel支持

Babel能夠允許我們使用最新的JavaScript特性編碼,即便是瀏覽器還沒有支持它們。通過安裝ES2015和react presets,Babel能夠把使用 Javascript 新特性和 React jsx 的代碼轉換為與當前瀏覽器兼容的 JavaScript 語法。

一個小時搭建一個全棧 Web 應用框架

Babel轉換JavaScript代碼的示例

安裝Babel:

一個小時搭建一個全棧 Web 應用框架

添加Babel presets到package.json文件中:

一個小時搭建一個全棧 Web 應用框架

在 Webpack 的配置中添加一條 babel-loader 規則。注意,我們在規則中排除了node_modules。這可以保證 Babel 不會嘗不會對 node 模塊進行轉換,從而不會影響到node程序的加載速度。

一個小時搭建一個全棧 Web 應用框架

創建 index.jsx 和 index.html

為了能在瀏覽器中看到一些東西,我們將創建一個簡單的index.html頁面,這個頁面只顯示一個由JavaScript彈出的“Hello World!”對話框,以此來證明設置是正確的。

在static目錄中創建一個index.html文件,並填寫下面的代碼:

一個小時搭建一個全棧 Web 應用框架

在static/js目錄下創建一個index.jsx文件,並添加下面的代碼:

一個小時搭建一個全棧 Web 應用框架

啟動一個獨立的終端窗口來運行前面創建的 Webpack watch 命令,這樣當我們在工作時,它可以在後臺一直運行。它會在沒有編碼錯誤的前提下自動構建你的包。

一個小時搭建一個全棧 Web 應用框架

打開瀏覽器並訪問index.html,應該能夠看到彈出一個寫著“Hello World!”的提示窗口。

一個小時搭建一個全棧 Web 應用框架

創建一個簡單的 React 應用

首先需要安裝React:

一個小時搭建一個全棧 Web 應用框架

下一步讓我們用一個簡單的 React 應用替換掉前面的index.jsx,並讓它加載一個創建在單獨的 App.js 文件中的 React 類。

一個小時搭建一個全棧 Web 應用框架

React 類需要在不同的React源碼文件中做導出,以方便後面的使用。通常每個文件中只寫一個類,並且導出。

一個小時搭建一個全棧 Web 應用框架

如果我們現在刷新瀏覽器,頁面上將會顯示“Hello React!”,而不再是“Hello World!”提示框。

一個小時搭建一個全棧 Web 應用框架

配置Python服務

關於Python服務器我們將會使用Flask。Flask是小型Python應用的最佳選擇之一。“微框架(microframework)”可以使你在短短几分鐘內輕鬆快速的使一個服務跑起來。對於大型應用和某些專業領域,企業通常會使用 Pyramid 或 Django。如果你想在自己的環境中擁有很大的靈活性和能夠自定義配置的特性,Pyramid是一個不錯的選擇。Django則提供了一個全功能的Web框架,同時使你不必為應用的配置花費太多的時間,比如在數據庫配置等方面。

創建一個新的virtualenv並安裝Flask

在server目錄中創建Flask服務源碼文件,添加一個用來返回返回“Hello World!”的端點路由“/hello”,再添加一個主頁面端點路由 “/“ 用來渲染index.html 模版。

一個小時搭建一個全棧 Web 應用框架

運行python服務:

一個小時搭建一個全棧 Web 應用框架

接下來訪問http://localhost:5000/就可以看到 react 應用提供的的“Hello React!”提示。訪問http://localhost:5000/hello 將會看到由Python端點路由返回的“Hello World!”

恭喜,現在你已經有了一個基本的全棧應用

關注後私信小編資料即可自動獲取大量Python視頻教程以及各類PDF!


分享到:


相關文章: