Day 01 - 初步学习

  • 尝试了使用 cmd 和 node 编写程序,最终成功地完成了 “从入门到放弃”
  • 通过 Vs Code 写 node 代码,果然一个牛逼一些的编辑器可以拯救迷茫的少年
  • 初步了解到了 node 的一些功能
    • exports
    • 模块化编程
    • 强大的 service 基本 API
    • 通过 http 模块编写了一个基础的 API 接口(实现了通过局域网访问)
  • 继续努力!

Day 02

我学习的内容来自黑马程序员的 7 天 Node 速成,而且我还开的 2 倍速看的。。。感觉自己可能吸收的不是很多

我自己的思路:如何通过 node 做一个留言板

  • 如何进行持久化操作是重点
    • 使用 writeFile 的 API,将用户输入的内容存入到某个指定的文本文件中,使用 json 进行保存。(此处不考虑使用数据库的问题)
    • 于是引出下一个问题:目前使用 node 可以实现 writeFile 和 response.end (),但是还缺少了可以读取用户输入的 API,可能需要等待进一步学习
  • 如果可以的话,甚至想完善留言板的功能。做出一个有格式的(或者直接支持 markdown),甚至可以发图片等。
    • 这个就需要 Content-Type 的配合了,估计需要自己好好学一下第三方的框架比较好。虽然懂得了原理,但也不能自己封装,自己造的轮子,又不一定好用。。。

Day 03 - 简单实现留言板功能

<h1>使用Node & Express 制作的留言板(Array版本)</h1>
     <li> Say:  </li><br> 
    <a href="./sendPage">Go</a>

</pre>

<pre class="hljs xml"> <h1>在这里发送数据到留言板中</h1>
    <hr>
    <form action="send" method="get">
        <input type="text" />
        <br>
        <input type="text" World!"/>

        <input type="submit" value="Submit">

    </form>

</pre>

<pre class="hljs javascript">var express = require('express')
var art = require('art-template')
var fs = require('fs')
var notes = new Array()
var app = express()
app.get('/', function (req, res) {
    fs.readFile('./index.html', function (error, data) {
        var htmlStr = art.render(data.toString(), {
            data: notes
        })
        res.send(htmlStr)
    })
})

app.get('/sendPage', function (req, res) {
    fs.readFile('./send.html', function (error, data) {
        res.send(data.toString())
    })
})

app.get('/send', function (req, res) {
    console.log(req.query)
    notes.push(req.query)
    res.redirect('./')
})
console.log(notes)
app.listen('3000', function () {
    console.log('App is running at port 3000.')
})

WordPress 低版本的编辑器实在是垃圾,为什么不能加入 Markdown 呢,或许是我没注意吧

一个简单的 Array 版本的留言板写了快一个小时,Emmmm, 我实在是太垃圾了

PS: 使用了 MarkDown 插件后可以正常调用 MarkDown 语法了

记录一下遇到的问题,以后遇到时候方便解决一下

  • fs.readFile 如果访问的是上一级文件夹内的文件,读取出来的内容和文件内的内容不是一样的。例如 HTML 文件只剩下了大体框架,缺失了所有的内容
  • 使用 var notes=[] 新建的 Array 好像会被识别为 Any, 不知道为什么,将实例化的方式换成了函数之后就好了
  • 临时学习了一下 art-template, 个人觉得和 vue 的差距有些大。现在暂时不知道如何用 vue 和 node 结合罢了