新聞中心
公司要求用Angular+Sequelize, 周末趁著一波有空, 竟然兩天搞到半夜都還沒搞定最簡單的從一張數(shù)據(jù)庫表里取幾條數(shù)據(jù), 展示成一個table. 吐血寫一篇踩過的坑, 以及最后卡住的坑.

創(chuàng)新互聯(lián)是一家專業(yè)提供花垣企業(yè)網(wǎng)站建設,專注與網(wǎng)站制作、成都網(wǎng)站建設、成都h5網(wǎng)站建設、小程序制作等業(yè)務。10年已為花垣眾多企業(yè)、政府機構等服務。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進行中。
上來安裝nodejs和angular, 沒啥問題, 下載最新版安裝一頓操作, 環(huán)境變量搞定. 然后ng new 命令建立了項目, 啟動VS Code, 開搞!
寫了個*ngFor循環(huán)輸出了個table, ts代碼寫一個對象數(shù)組(hard code), 展示table無問題.
hard code的數(shù)組
ngFor循環(huán)輸出一個table
table展示的樣子
到目前為止, 信心滿滿.
然后加入sequelize, 這個帶著光環(huán), 哦不, github star最高的nodejs orm. 為了消除數(shù)據(jù)庫各種配置的問題, 我先嘗試了sqlite這個內(nèi)存數(shù)據(jù)庫. 然后new一個Sequelize連接看看? 隨后就開始報一堆亂七八糟的錯.
一. 第一個是編譯錯誤: Can't resolve 各種各樣的是什么鬼, 谷歌百度瘋狂搜索, 哦哦原來這些各式各樣的都是瀏覽器的東東... hm... 怎么解釋呢, 就是這些對象是瀏覽器自帶的, 不需要編譯. (我是這么理解的.. 請大神補充).
編譯錯誤, 一頭霧水
那怎么解決呢, 就是往package.json里塞這么一堆東東. 也就是告訴angular (其實是webpack), 這些鬼東西是瀏覽器自帶的, 別折騰!
二. 這回編譯是沒問題了, 咦? 怎么瀏覽器里啥也沒了? 打開F12一看, 報錯:
Buffer not defined?
這又是什么喪心病狂的錯誤? 特么一個Hello World級別的小網(wǎng)頁, 我哪里用到Buffer了... 又是一頓瘋狂搜索, 某大神說如下可以解決:
不知所云的fix ~~~
至此, 我已經(jīng)totally lost, 這代碼到底是干嘛? 幸運的是原來的錯誤是解決了. 到這里已經(jīng)花了我1天多時間了...
三. 迫不及待, ng serve, 刷新頁面, 怎么還是一片空白? F12里錯誤信息變了.
納尼? 我明明安了sqlite3的lib啊, 搞妹啊. 大家懂得, 先是npm uninstall / npm install 來回折騰. 無果! 隨即求助谷歌百度大神, 竟然發(fā)現(xiàn)NN多人碰到這類問題, 并在sequelize的support論壇上提交了問題. 每個帖子都是一番激烈討論, 然后沒一個簡單高雅的解決方案.
看了差不多兩小時的帖子, 嘗試了npm rebuild無果, 把sqlites安裝到global, 無果!
其實這問題的原因是因為sequelize的依賴項由于和webpack和angular的版本沖突, 反正就是沒打包進去. 有人通過webpack的pkg解決了這問題. 寫了一堆我不知道該放哪的代碼.... 反正我到目前還沒解決.
最后發(fā)個牢騷, angular的語法功能是挺好的, 但它的依賴項真的真的太多了... 新建一個angular網(wǎng)站項目, 完全是新建的哦, 居然有900多項依賴項. 900多項!!! 以前做java, maven里從來沒超過100個依賴項吧.
最后想說, 經(jīng)過2天折騰, 瞬間不愛了.... 哦不, 本來就沒愛過.
新聞名稱:淚奔:作死嘗試兩天Angular+Sequelize的開發(fā)
標題來源:http://www.fisionsoft.com.cn/article/copjhoo.html


咨詢
建站咨詢
