node -- hapi 學習

node learning

學習node,是爲了後續項目能夠正常開展,如今寫個項目,若不是鏈接後臺,請求數據,一切都不叫着項目了。正好藉助掘金小冊,來推動學習node

學習資料

如下皆是按照掘金小冊加上本身擴展一步步走過來的mysql

hapi 學習

使用 hapi 時,對應的一些插件,因爲插件不少,目前暫時寫着用到的一些吧git

  • hapi-swagger 用來生成 接口文檔, 地址 服務地址/documentation
  • env2 讀取 .env 文件,能夠用來配置文件
  • joi 數據結構校驗
  • sequelize 用來鏈接數據庫,請求數據,建表等都用到

報錯

開發過程當中,碰到的錯誤,加上本身一步步實踐生成的github

  • {"statusCode":400,"error":"Bad Request","message":"Invalid cookie value"} 啓動服務,瀏覽器輸入地址就發生錯誤,處理方式
    • 清除 cookie, 清除當前地址欄下的 cookie能夠解決
    • github Solution
  • 使用env2時,如果讀取不到.env配置文件,多是路徑不對,看warning的信息,是否提示.env 沒有找到,那就嘗試修改,必定要看報錯信息,基本都一目瞭然,避免盲目搜索查找
  • 鏈接mysql數據庫 因爲使用Wampserver32沒法有效鏈接到,不得已在ubuntu系統下安裝mysql數據庫。因爲第一次使用ubuntu,於是記錄下經常使用的命令,以及錯誤處理。 遠程鏈接數據庫,這是大前提
    • ubuntu查看 ipsql

      ifconfig -a

      如果報 ifconfig commad數據庫

      sudo apt install net-tools
    • mysql 數據庫安裝等一系列命令ubuntu

      安裝 mysqlapi

      sudo apt-get install mysql-server

      運行安全腳本瀏覽器

      sudo mysql_secure_installation

      測試Mysql安全

      systemctl status mysql.service

      啓動 mysql

      1. sudo systemctl start mysql
      2. sudo service mysql start

      關閉 mysql

      sudo service mysql stop

      重啓 mysql

      sudo service mysql restart
    • 錯誤處理

      • GUI工具鏈接數據庫 10061
      修改bind-address=127.0.0.1 爲 bind-address=0.0.0.0
       <!-- 不必定非要在my.ini文件夾下 -->
      • host 192... is not allowed to connect to this mysql server
      update user set host = '%' where user = 'root'
       // 能夠將 `localhost` 換成 `%` 這點後期會踩無數坑
      alter user 'root'@'localhost' identified with mysql_native_password by '你的密碼'
      <!-- 報錯  -->
      [Error] 1819 密碼設置的不符合要求
      密碼必須符合要求,而不是隨便設置,很無語
      • 1396
      // 因爲在前面將 `localhost` 換爲 `%`,而我在後期修改中,卻一直覺得是 `root@localhost` 致使一直不成功,於是修改成
      ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123'
  • sequelize
    • connect ENOENT '3306' 一直覺得鏈接數據庫錯誤,各類排查,用SQL GUI工具發現能夠鏈接數據庫,而後打印時,發現
    ...
    username: '\'root\'' 
    ...
    意識到是否是我多加了''的緣故,去除就行了
    // .env文件 不用添加引號
    # MySQL 數據庫連接配置
    MYSQL_USERNAME = root
    MYSQL_PASSWORD = 1991
    MYSQL_DB_NAME = hapi
    MYSQL_HOST = ip地址
    MYSQL_PORT = 3306
    • Incorrect string value: '\xE5\xBA\x97\xE9\x93\xBA...' for column 'name' at row 1
    修改表,columns的字符集爲 utf-8,這裏須要多多注意,
    數據庫 
    表
    columns
    都要看看是不是 utf-8
    不僅是修改表的字符集,還須要修改 表的 columns的字符集

待續

繼續前行吧,雖然都是很簡單的操做,可是一步步來纔是很爽的,不斷排錯,不斷完善,不少東西確實相同,好比項目結構等等,後續再補充。

相關文章
相關標籤/搜索