之前的開發(fā)選擇的是完全舍棄服務端,僅保留最簡單web服務器提供angular經打包的靜態(tài)資源,此外所有的業(yè)務與數(shù)據(jù)請求都訪問一個分離的WebApi來實現(xiàn)。不過最近碰到一個需求,有必要使用多個客戶端,而各客戶端本身都是webpack打包出來的js而已,沒必要每個客戶端都自己建一個站點,這就有必要搭建一個服務端,根據(jù)參數(shù)動態(tài)渲染不同客戶端的腳本來服務多個客戶端了。主要需要解決兩個問題,一是防止前后端路由沖突各自有效工作,二是如何實現(xiàn)一套比較合理的部署方案?;\統(tǒng)一點看待這個問題,無非就是要實現(xiàn)如題目所描述的,如何將專注前端的強大框架(angular)整合到一個健壯的現(xiàn)有服務端(.Net)項目中去。

Webpack配置

第一步必然是要先得到前端項目的打包資源,由強大的webpack來完成,目標是將angular的所有依賴以及應用主代碼分別打包到polyfill.js、vendor.js、main.js三個腳本中,以及異步懶加載的模塊各自打包成一個chunk.js。webpack博大精深,剛接觸會摸不著頭腦,好在其終究是用來給我們帶來方便的一個工具而已,使用起來是很有條理的。其主要的介紹可以移步webpack的官方文檔【https://doc.webpack-china.org 】,認真吸收完遠遠足夠寫出angular-webpack-starter【 https://github.com/AngularClass/angular-starter 】這樣完善的啟動項目來了。
簡單來說webpack配置有四部曲:

  • 一、 定義入口文件 包含angular的依賴,angular框架代碼以及項目的啟動代碼即可,比如angular-webpack-starter中的配置:

entry: {    'polyfills': './src/polyfills.browser.ts', // 依賴項
    'main': AOT ? './src/main.browser.aot.ts' : './src/main.browser.ts' // 主程序
   },
  • 二、 定義打包規(guī)則

打包規(guī)則有好一些需要配置的,包括了各種文件類型的打包,angular模塊的打包等,配置方式見官方文檔或直接參照現(xiàn)成的啟動項目,直接看難免懵逼,但不要怕,規(guī)則其實就那么點,眼熟就成功了大半。

  • 三、配置插件

webpack有非常多的插件,用來強化打包能力以及規(guī)則的擴展,可以看看啟動項目中用到了哪些,這些插件在官方文檔里都能找到介紹。

  • 四、 定義輸出規(guī)則

延伸閱讀

學習是年輕人改變自己的最好方式-Java培訓,做最負責任的教育,學習改變命運,軟件學習,再就業(yè),大學生如何就業(yè),幫大學生找到好工作,lphotoshop培訓,電腦培訓,電腦維修培訓,移動軟件開發(fā)培訓,網站設計培訓,網站建設培訓學習是年輕人改變自己的最好方式