成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

Alice 上線小記

felix0913 / 2821人閱讀

摘要:引言學生管理系統(tǒng)昨日正式上線測試,上線遇到的問題不少,但最后都完美解決了。前臺上線,瀏覽器端訪問服務器卻得到了,查看相關日志后發(fā)現(xiàn)是訪問文件時遭到了拒絕。不足當時忙著上線,中默認也啟用了路由,就以為路由是正統(tǒng)的解決方案。

引言

Alice學生管理系統(tǒng)昨日正式上線測試,上線遇到的問題不少,但最后都完美解決了。

特此分享,一起爬坑。

項目優(yōu)化 登錄頁美化

原來的登錄頁采用的是黑背景,經(jīng)過大家的充分討論,我們需要換一個登錄頁,黑背景看著壓抑。

然后就在晨澍和潘佳琦的幫助下開始找各種登錄的模板,發(fā)現(xiàn)都特別丑,后來發(fā)現(xiàn)當前系統(tǒng)的登錄風格和微信的登錄風格很像,順手就抄過來了,感覺效果還不錯。

上線問題 打包問題

前臺ng build --prod之后,發(fā)現(xiàn)樣式不一致。

期待:

實際結果:

查看元素發(fā)現(xiàn)是Bootstrap的樣式在打包之后沒有了。

后來發(fā)現(xiàn):黃庭祥style.less中引用了一個在線的Bootstrap,打包肯定打不進去啊。

引用的所有包,都不能引在線的,需要使用npm安裝。npm install之后的包才能被打包進去。

遠程文件拷貝

本地打完包,需要將文件上傳到服務器,查了一下,需要使用scp命令。

scpsecure copy,安全拷貝,將文件加密傳輸,安全的遠程文件拷貝命令。

scp -r /Users/panjie/github/yunzhiclub/alice/web/webApp/dist/webApp root@xxx.xxx.xxx.xxx:/root/

將本地打包的webApp目錄上傳到服務器的/root目錄下。

-r代表目錄,xxx.xxx.xxx.xxx請?zhí)鎿Q成相應的服務器IP地址。

nginx 403

前臺上線,瀏覽器端訪問服務器卻得到了403,查看相關日志后發(fā)現(xiàn)是nginx訪問文件時遭到了拒絕。

nginx的配置文件中,有一行配置用戶的。

原配置是user nginx;,所以啟動時nginx進程的用戶是nginx,但是webApp文件的用戶所有者是root,所以就403了。

解決方案是把用戶配置改成root(有權限的用戶),然后重新加載配置文件即可。

刷新404問題

當用戶訪問127.0.0.1:8100時,根據(jù)路由的重定向,""重定向為"setup"登錄界面。

但是用戶刷新或直接訪問127.0.0.1:8100/setup時,報404錯誤。

猜想,nginx轉發(fā)出現(xiàn)了問題,應該是/轉給了Angular,但是把/setup當成了文件夾。

這個只是我的猜測,如果您有什么意見,歡迎在評論區(qū)中指出我的錯誤,感激不盡。

華軟就沒有該類問題,對比兩個項目,發(fā)現(xiàn)華軟中默認配置了hash路由。

hash路由

特意去官網(wǎng)學習了一下hash路由,感覺應該能給大家講明白。

兩個路由:

127.0.0.1:8100/setup
127.0.0.1:8100/#/setup

普通的路由是不帶#的,hash路由是帶#的。

#號,我們是不是在哪里見過?大家還記得Spring的官方文檔嗎?

a標簽實現(xiàn)頁面內跳轉。hash路由與之類似。

#之后的路由變化不會被發(fā)送給服務器,也就是說:127.0.0.1:8100/setup,后臺nginx獲取到的路徑是/setup,而使用hash路由,對于路由127.0.0.1:8100/#/setup,后臺獲取到的路徑就是/。

注入hash路由策略,即可啟用hash路由。

再訪問,后臺獲取到的就是/,然后把angular應用返回回來,然后angular應用再去處理#之后的路由,不會出現(xiàn)404。

以上的論述,是我結合官方文檔和我的經(jīng)驗得出的解決,如果有不正確之處,歡迎您批評指正。

不足

當時忙著上線,ng alain中默認也啟用了hash路由,就以為hash路由是正統(tǒng)的解決方案。

但是今天看官方文檔,卻看到了這樣的描述:

幾乎所有的Angular項目都會使用默認的HTML 5風格。它生成的URL更易于被用戶理解,它也為將來做服務端渲染預留了空間。

在服務器端渲染指定的頁面,是一項可以在該應用首次加載時大幅提升響應速度的技術。那些原本需要十秒甚至更長時間加載的應用,可以預先在服務端渲染好,并在少于一秒的時間內完整呈現(xiàn)在用戶的設備上。

默認的路由(不帶#)的,支持服務器端渲染,而hash路由則不支持。除非你有強烈的理由不得不使用hash路由,否則就應該堅決使用默認的HTML 5路由風格。

hash路由不推薦,不支持SSR。另外,我覺得應該是當前nginx的轉發(fā)配置寫得不好,以后再研究研究。

總結
對技術懷著一顆敬畏之心,努力地尋找著最佳實踐。

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://m.hztianpu.com/yun/8105.html

相關文章

  • 微信公眾號開發(fā)小記——5.python微信紅包

    摘要:微信各個服務是獨立的,比較蛋疼,要用紅包功能,首先你需要注冊一個微信商戶平臺賬號。首先是微信證書,用的是,與這兩個。寫在最后微信開發(fā)者工具挺好用的,服務號里把自己加為開發(fā)者就能用了。 描述 有時候產(chǎn)品有這么一些需求,當用戶滿足一定條件時,給他發(fā)一定金額的紅包。 微信各個服務是獨立的,比較蛋疼,要用紅包功能,首先你需要注冊一個微信商戶平臺賬號。 代碼位置 分支pay-20160802 微...

    JerryZou 評論0 收藏0
  • 微信公眾號開發(fā)小記——4.兩種邀請用戶的方式 掃碼&&鏈接

    摘要:借著這個需求體會了下微信開發(fā)的兩種不同類型非端口的兩種開發(fā),以及的一些正確姿勢。關于用戶微信登錄的事情我們通過已經(jīng)解決了參考我的上一篇博客微信公眾號開發(fā)小記接入三方登錄,所以可以直接用的裝飾器完成這種事情。 描述 假設的我們的服務號有這么一些功能,比如底部有按鈕,點擊會有一些復雜的功能,這時候可能就需要一個用戶系統(tǒng),有用戶系統(tǒng)就經(jīng)常想要做什么分享邀請新用戶之類的,這時候就又有幾種方式,...

    BDEEFE 評論0 收藏0
  • async語法升級踩坑小記

    摘要:普通的回調函數(shù)調用執(zhí)行后續(xù)邏輯使用了以后的復雜邏輯獲取到正確的結果輸出兩個文件拼接后的內容雖說解決了的問題,不會出現(xiàn)一個函數(shù)前邊有二三十個空格的縮進。所以直接使用關鍵字替換原有的普通回調函數(shù)即可。 從今年過完年回來,三月份開始,就一直在做重構相關的事情。 就在今天剛剛上線了最新一次的重構代碼,希望高峰期安好,接近半年的Node.js代碼重構。 包含從callback+async.w...

    VioletJack 評論0 收藏0
  • 比特幣的交易(一)

    摘要:在比特幣白皮書中,有三段話很關鍵的話,解釋了交易是什么。電子貨幣從所有者轉移給下一個人是通過,所有者使用私鑰,對交易和下一個人的公鑰進行數(shù)字簽名,并將數(shù)字簽名附在這枚電子貨幣數(shù)字簽名鏈的后面。 在比特幣白皮書中,有三段話很關鍵的話,解釋了交易 Transactions 是什么。 雖然數(shù)字簽名(Digital signatures)部分解決了電子現(xiàn)金系統(tǒng)的問題,但是仍然需要第三方的支持...

    Blackjun 評論0 收藏0
  • Python之路--python基礎2

    摘要:內容列表元組操作字符串操作字典操作集合操作文件操作字符編碼與轉碼內置函數(shù)在中,最基本的數(shù)據(jù)結構是序列。序列中的每個元素被分配一個序號即元素的位置,也稱為索引??兆值洳话ㄈ魏雾椨蓛蓚€大括號組成。 day2內容1、列表、元組操作2、字符串操作3、字典操作4、集合操作5、文件操作6、字符編碼與轉碼7、內置函數(shù) 在Python中,最基本的數(shù)據(jù)結構是序列(sequence)。序列中的每個元素被...

    Binguner 評論0 收藏0

發(fā)表評論

0條評論

felix0913

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<