myblog 中的bug處理

1.引用semantic 中的 menu 時menu不能隱藏,不是那邊的script腳本問題,那麼就是menu的問題,看了半小時沒發現哪裏有錯,刪到就剩menu發現my:<menu> semantic:<div class='menu'>
2.定位元素的樣式big.ui.buttons無效,.big.ui.buttons有效div要.
3.404:瀏覽器地址錯誤signup->singup
4.登入後退回重新刷新signup內存泄露警告
5.semantic UI dropdown 無效發現要加JavaScript腳本,但文檔沒說明只有HTML的佈局圖
6.express-session 中的 saveUninitialized : true和false切換無效。後面覺得肯定是哪裏代碼加載時用了session,果然

app.use((req, res, next) => {
  res.locals.user = req.session.user
  res.locals.success = req.flash('success').toString()
  res.locals.error = req.flash('error').toString()
  next()
})

7.傳值時因爲有error未處理所以傳不過去

app.use(function(req, res, next) {
 -  var err = new Error('Not Found');
 -  err.status = 404;
 -  next(err);
 -});
 -
 -// error handler
 -app.use(function(err, req, res, next) {
 -  // set locals, only providing error in development
 -  res.locals.message = err.message;
 -  res.locals.error = req.app.get('env') === 'development' ? err : {};
 -
 -  // render the error page
 -  res.status(err.status || 500);
 -  res.render('error');
 -});

錯誤信息給異常了,沒傳到signup
8.throw new TypeError(‘Router.use() requires middleware function but got a ’ + gettype(fn));
拋出新的類型錯誤(Router.use() 需要中間件函數但是但是得到的是gettype(fn))

const express = require('express')
const router = express.Router()

router.get('/', (req, res) => {
  req.session.user = null
  req.flash('success', '登出成功')
  res.redirect('/article')
})

忘記exportmodule.exports = router
9.TypeError: User.findOne(…).addCreateAt is not a function
.addCreateAt單詞打錯了
10.Cannot GET /posts/5a3a4040ac988e0cc7034da9
地址沒錯,請求方式沒錯,方法錯了,寫個demo一跑就出
11.測試代碼打印一直有問題,發現res.redirect(‘back’) :
A back redirection redirects the request back to the referer, defaulting to / when the referer is missing.
The HTTP referer (originally a misspelling of referrer[1]) is an HTTP header field that identifies the address of the webpage (i.e. the URI or IRI) that linked to the resource being requested.
重新設置頭部信息
打印res.text有些奇怪不知道爲什麼

<html>
  <head>
    <meta charset="utf-8">
    <title>myblog</title>
    <link rel="stylesheet" href="//cdn.bootcss.com/semantic-ui/2.1.8/semantic.min.css">
    <link rel="stylesheet" href="/css/style.css">
    <script src="//cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>
    <script src="//cdn.bootcss.com/semantic-ui/2.1.8/semantic.min.js"></script>
  </head>
  <body>
  <div class="nav">
  <div class="ui grid">
    <div class="four wide column"></div>

    <div class="eight wide column">
      <a href="/posts"><h1>myblog</h1></a>
      <p>my first blog</p>
    </div>
  </div>
</div>
  <div class="nav-setting">
  <div class="ui buttons">
    <div class="ui floating dropdown button">
      <i class="icon bars"></i>
      <div class="menu">

          <a class="item" href="/signin">登錄</a>
          <a class="item" href="/signup">註冊</a>

      </div>
    </div>
  </div>
</div>

  <div class="ui grid">
  <div class="four wide column"></div>
  <div class="eight wide column">





  </div>
</div>




  <script type="text/javascript">
   $(document).ready(function () {
      // 點擊按鈕彈出下拉框
      $('.ui.dropdown').dropdown();

      // 鼠標懸浮在頭像上,彈出氣泡提示框
      $('.post-content .avatar-link').popup({
        inline: true,
        position: 'bottom center'
      });
    })
  </script>
  </body>
</html>


重定向到地址,res.text有網頁的全部信息

<html>
  <head>
    <meta charset="utf-8">
    <title>myblog</title>
    <link rel="stylesheet" href="//cdn.bootcss.com/semantic-ui/2.1.8/semantic.min.css">
    <link rel="stylesheet" href="/css/style.css">
    <script src="//cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>
    <script src="//cdn.bootcss.com/semantic-ui/2.1.8/semantic.min.js"></script>
  </head>
  <body>
  <div class="nav">
  <div class="ui grid">
    <div class="four wide column"></div>

    <div class="eight wide column">
      <a href="/posts"><h1>myblog</h1></a>
      <p>my first blog</p>
    </div>
  </div>
</div>
  <div class="nav-setting">
  <div class="ui buttons">
    <div class="ui floating dropdown button">
      <i class="icon bars"></i>
      <div class="menu">

          <a class="item" href="/signin">登錄</a>
          <a class="item" href="/signup">註冊</a>

      </div>
    </div>
  </div>
</div>

  <div class="ui grid">
  <div class="four wide column"></div>
  <div class="eight wide column">




    <div class="ui error message">
      <p>名字請限制在 1-10 個字符</p>
    </div>


  </div>
</div>


<div class="ui grid">
  <div class="four wide column"></div>
  <div class="eight wide column">
    <form class="ui form segment" method="post" enctype="multipart/form-data">
      <div class="field required">
        <label>用戶名</label>
        <input placeholder="用戶名" type="text" name="name">
      </div>
      <div class="field required">
        <label>密碼</label>
        <input placeholder="密碼" type="password" name="password">
      </div>
      <div class="field required">
        <label>重複密碼</label>
        <input placeholder="重複密碼" type="password" name="repassword">
      </div>
      <div class="field required">
        <label>性別</label>
        <select class="ui compact selection dropdown" name="gender">
          <option value="m"></option>
          <option value="f"></option>
          <option value="x">保密</option>
        </select>
      </div>
      <div class="field required">
        <label>頭像</label>
        <input type="file" name="avatar">
      </div>
      <div class="field required">
        <label>個人簡介</label>
        <textarea name="bio" rows="5"></textarea>
      </div>
      <input type="submit" class="ui button fluid" value="註冊">
    </form>
  </div>
</div>

  <script type="text/javascript">
   $(document).ready(function () {
      // 點擊按鈕彈出下拉框
      $('.ui.dropdown').dropdown();

      // 鼠標懸浮在頭像上,彈出氣泡提示框
      $('.post-content .avatar-link').popup({
        inline: true,
        position: 'bottom center'
      });
    })
  </script>
  </body>
</html>

發現這問題主要是奇怪爲什麼test中有一條會對,對比後發現的
12.
想保留session發現無限的重定向。debug發現了路由中間件弄的無限回調
13.
表單中修改了名字,還是說未定義,但是單詞都是對的,對比了以前的也一樣,打印了消息發現名字沒用上,找網頁發現沒有刷新,因爲重新提交表單時頁面不會刷新,要重開。
14.
使用提出的函數返回是promise,說then未定義。發現=》{}不能返回=》能返回

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章