上一節《Angular.js超級入門(二)【環境安裝、HelloWorld程序】》中講到以下的代碼:javascript
<!--The content below is only a placeholder and can be replaced.--> <div style="text-align:center"> <h1> HelloWorld to {{ title }}! </h1> </div>
其中的{{ title }}爲什麼在頁面顯示的時候變成了app呢?css
很顯然,這個title是一個變量,從別的代碼那取來的。咱們看看其它文件,對於angular和大多數編程框架來講,相同功能的代碼老是放在一個目錄下的,因而咱們會看到相同app文件夾下的app.component.ts文件裏記載着title變量的值:html
咱們試着將title的值更改:前端
title = 'MyFirstAngularApp1';
而後嘗試刷新頁面看看:java
因而這個title變量,就能夠按照程序的常規處理方式,在typescript中進行處理、轉換了。(注意,用VSCode進行編輯,按快捷鍵ctrl+s默認只存儲當前編輯的文件,而不是工程裏全部未保存的文件都進行保存。若是遇到明明改了變量卻沒有反映的狀況,試着檢查下是否全部未保存的文件都保存了。)node
【最後,簡單發佈】nginx
這麼多typescript、html、js、css文件,我總不能所有拷貝到web服務器上才能用吧?我能不依賴node.js的server來運行個人angular程序嗎?web
答案是固然能夠。但首先,咱們得把程序進行編譯。所謂編譯,就是將衆多人開發的前端組件進行整合、優化,將typescript轉化爲前端瀏覽器可識別的javascript代碼。編譯過程以下:typescript
打開CMD,進入到咱們的工程文件夾(編譯前記得關閉已經用npm run start命令開啓的服務器),輸入以下命令:apache
ng build --prod
編譯的過程以下,編譯完後會多一個dist文件夾:
dist即爲真正的生產文件,能夠部署到web服務器。部署前還有一個問題,咱們打開index.html頁面,看到以下代碼:
文件中的
<base href="/">
意味着全部的未指定詳細路徑的文件請求,都從根域名開始查找。若是這個index.html要部署在子目錄下的話,例如localhost/subfolder/index.html,它的js文件依然會到localhost/xxx.js下去找,如果全部生產文件都複製在同一目錄下(也就是xxx.js在localhost/subfolder/xxx.js下),那麼打開index頁面就會報錯找不到xxx.js:
的腳本因 Mime 類型不匹配而被阻止 Refused to apply style from 'http://localhost:63342/styles.ac89bfdd6de82636b768.bundle.css' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled. index.html:15 GET http://localhost:63342/main.e9283078d8b0e76688b8.bundle.js net::ERR_ABORTED 404 (Not Found)
解決辦法以下:
開啓該頁面的方式有幾種: