Размер видео: 1280 X 720853 X 480640 X 360
Показать панель управления
Автовоспроизведение
Автоповтор
博主真的非常有耐心,完全从初学者的角度触发,教学的同时还不忘讲解一些细枝末节但有必要的东西。
谢谢你的留言,真心希望这些教学对你有帮助,加油!
必须每一个视频都留言鼓励一下 po主真的很用心 对于我们这些初学者来说 太有用了
谢谢你的支持!加油!
讲解视频做的太棒了!简单易懂~😀
請問老師13:42的readfile callback的error參數,什麼時候才會觸發if (error) 內的語句?老師的說明是讀取文件發生錯誤就會走這條路,但像影片最後用了hello.html,都是返回404 page not found,而非sorry, internal error. 但hello.html文件不存在,為何不會發生error?
啊,我懂了,因為是http.createServer的if (method === 'GET')之後確認url的if-else if- else語句裡面才會執行sendResponse函式,而fs.readFile在sendResponse函式裡面。當我訪問任何頁面都是在執行http.createServer,即便html文件不存在,都會走else { sendRes('404.html', 404, res); } ,所以當文件不存在,請求的頁面data永遠是404.html若要看到sorry, internal error.,就要連404.html文件都不存在才會出現。
WenXuan老师教学很细,刚看完两集,准备把您的NodeJS系列看完
谢谢!
呜呜,很有帮助哦,清晰易懂,我个小小白都看懂了,感谢💮
谢谢,加油!
簡潔有力! 看了 3 epi終於明白了 nodejs server的運作了 >.
你的吸收和理解能力非常好,加油哦~
感謝您無私的教學,謝謝您.
不客气,希望你能从中收益
老師,您好在19:06時我重啓服務器后顯示node:internal/modules/cjs/loader:988 throw err; ^Error: Cannot find module 'FS'Require stack:- C:\Users\cosmi\Documents\3ode\server.js at Function.Module._resolveFilename (node:internal/modules/cjs/loader:985:15) at Function.Module._load (node:internal/modules/cjs/loader:833:27) at Module.require (node:internal/modules/cjs/loader:1057:19) at require (node:internal/modules/cjs/helpers:103:18) at Object. (C:\Users\cosmi\Documents\3ode\server.js:2:12) at Module._compile (node:internal/modules/cjs/loader:1155:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1209:10) at Module.load (node:internal/modules/cjs/loader:1033:32) at Function.Module._load (node:internal/modules/cjs/loader:868:12) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) { code: 'MODULE_NOT_FOUND', requireStack: [ 'C:\\Users\\cosmi\\Documents\\3\ode\\server.js' ]}
你好 視頻太棒了,我有一個問題,最後從服務器打開的網頁沒有CSS央視,怎麽辦?!
太棒了,很清楚,一看就懂
谢谢你的留言,你也很棒!加油哦!😀
非常有用!期待出进阶版。
文轩讲得特别好,也容易懂
谢谢你的支持哦!希望能帮你快速入门编程 :)
老师为什么我的一直显示Sorry, internal error
請問為什麼 我開啟網站後沒有開啟 index.html 介面而是下載了一個檔案 內容和 index.html 的代碼一樣
是不是返回的response有误?
有一个问题请教,按照您的代码,一切正常,但我的style.css没有loading。望解答 提前感谢!(双击打开网页文件都是有css渲染的)
是style.css没加载成功吗?
@@wenxuandecode4140 是的 页面没有渲染 但是我找到文件夹 打开html文件的时候 是有渲染的
麻烦问一下readFile方程里面的给出path的 `./html/${filename}` 的左右两边的 ` 符号一般在js中是用来干嘛的啊,在python中没有遇到过
你好,那是template string的符号,js里string可以用single quotation, double quotation 和 back tick显示
欢迎来discord交流站互动,有问题可以直接在里面提问 😀
@@wenxuandecode4140 我也试了single quotation, double quotation, 但是貌似只有back tick可行...请问discord入口是什么呀,扫码好像进的是facebook group
非常實用 太感謝了!!
不客气,希望你受益 :)
为什么我的request.method一次性会返回两个值?
想請問博主,爲什麽當我進入頁面后所有的東西都會顯示出來,例如大標題,而不是只顯示大標題,謝謝?
你好,请问还显示其他什么东西了?
我也遇到同樣問題,但解決了。問題可能在這裡:在sendResponse裡,如果讀取檔案沒有出現error時,進入else{},裡面的response.setHeader()。裡面的Content-Type 必須是 "text/html"。和出現錯誤的Content-Type "text/plain"不一樣。我不小心將text/html 改成 text/plain,網頁顯示就無法將html檔案視為html,而是純文字(plain)了。希望我的解釋能幫到你
@@TheBlvision 確實是這個問題,現在解決了.十分感謝
請問文軒老師為甚麼我的vscode經常自動幫我加上 const { request } = require("express"); 每次debug的時候都出錯,就是系統自動幫我加上這行,不知道原因是甚麼。
是不是安装了可以自动引入的插件?检查一下
@@wenxuandecode4140 感謝文軒老師回復,是裝了不少插件,我再查看看。感謝您
不客气,加油!
读取filename的时候错了 一直显示error的 sorry, internal error 是什么问题啊
去console.log(error) 看看实际错误,还有确保文件的路径正确
@@wenxuandecode4140 可以了 感谢
@@guangyang8596 👌 加油!
用什么浏览器呢?我用chrome, 如果输入hello.html 得到Failed to load resource: the server responded with a status of 404 (),输入about.html, 会自动下载about.html文件。求问这是为什么呢?
截图一下你的代码吧
@@wenxuandecode4140 const http = require("http")const fs = require("fs")const sendResponse = (filename, statusCode, response) => { console.log(`./html/${filename}`) fs.readFile(`./html/${filename}`, (error, data) => { if (error){ response.statusCode = 500 response.setHeader("Content-Type", "test/plain") response.end("sorry, internal error") }else { response.statusCode = statusCode response.setHeader("Content-Type", "test/html") response.end() } })}const server = http.createServer((request, response) => { console.log(request.url, request.method) const method = request.method const url = request.url if (method === "GET"){ if (url === "/"){ sendResponse("index.html", 200, response) }else if (url === "/about.html") { sendResponse("about.html", 200, response) }else{ sendResponse("404.html", 404, response) } } })const port: number = 5000const ip: string = "127.0.0.1"server.listen(port, ip, () => { console.log(`Server is running at ${ip}:${port}`)})
@@wenxuandecode4140 感觉和你的代码一模一样。是不是需要改chrome里的一些设置?
@@xinyuanliu1959 我看了一下,是这里出了问题:"test/html",正确的是"text/html" response.setHeader("Content-Type", "text/html")这是因为Chrome不能显示,也识别不了test/html类别的文件,所以会自动下载,改了就好了。还有就是接的要返回data数据,不然网页不会显示内容 :)
@@wenxuandecode4140 万分感谢!
我想發個問題,我今天把頁面標題(在瀏覽器標籤顯示的)設為一串中文字,卻跑出斷碼,是哪個環節的問題呢?要怎麼樣才能讓他用utf-8編碼方式顯示中文呢?
你好,可以尝试在标签里添加对了,有时间欢迎你去Codetisan自学平台练习,练习题会持续的更新 :) www.codetisan.com/zh-cn/practise
加油加油赶紧出下个视频😂
开足马力哦😂
我的不仅返回了请求的URL,还返回了一个/favicon.ico 请问一下这是什么啊?
这个favicon是显示在Chrome tab上的小图标
为什么我写的一模一样但是浏览器还是报错?希望能够得到回复 感谢
可能说明还是不太一样 😝
老师好,bug大佬来了。请问:我只收到error、i.e.statusCode:500...我认为跟上一讲我遇到的bug有关。 我的sendResponse里的filename未被读取, ${filename} 也无法识别...就给我throw error back。求文轩大佬有空回复!
注意标点符号,请截图一下你的代码,然后发到自学编程社区里
請問一下我該怎麼實踐在15.19提到的情況呢?我想看看服務器報錯時的網頁的所有細節
你好!这个简单,console.log(error) 就可以查看error里的数据 :)
老师那个方程不用在前面写function嘛
老師在上個視頻有提到這是較新的定義函數的方式,是為了讓代碼整體看起來比較簡潔
老師 和你代碼一模一樣,但是不管什麼頁面 只要通過服務器啟動的 都是internal error,输入任何网页,不管有没有的,都是internal error,不会显示404,状态码都是200
你的問題應該是抓不到html文件,所以顯示internal error你看看你的第五行「./html/${filename}」把中間的「/html 」刪除看看
尝试将你的代码发到自学编程社区里,让我们帮你看看~~
@@wenxuandecode4140 问题已经结束了 是文件路径问题,重新看了一遍视频就搞定了 目前到login success 账号密码都弄完了 也可以显示页面了 非常感谢。
@@charlielau2363 那就好,继续加油哦!加入到自学编程社区了吗?有时间去看看吧~
@@wenxuandecode4140 好 一定去,主要现在有个实习项目要做个这样用户可以注册和登录的网站 还要po一些东西,我也没啥经验,只能youtube找资源,感觉您教的很好
老师教得好好, 签到一下, 加油加油
谢谢你的用心 😁
老师如果去了b站肯定会火
哈哈,为什么那么肯定?
@@wenxuandecode4140 我看的好几个老师都没你讲的好,不过听你的课要跟着做笔记才行
@@wenxuandecode4140 而且在油管会错失大量的内地学生,说起来我的vpn也快到期了。。。
都照著打但一直無法顯示最後發現“GET”三個都是大寫 乾希望幫到有緣人:)
谢谢你的分享,会有人受益 :)
請問Node.js 為何不用javascript function, 如#4 constant sendResponse=(){}, 為何不寫成 function sendResponse(){}?
全程靠抄,再刷一遍希望能有收获
反复练习会有收获的
超喜欢你的视频,可以做多点进阶版的吗?
会的,谢谢你的支持!欢迎去自学编程社区里和其他同学讨论和互动哦😀
@@wenxuandecode4140 很奇怪,我是用老师您的方法,虽然terminal出现/GET,但是页面刷不出来
@@军-m5r 要显示的页面文件路径对吗?尝试console.log() 内容
@@wenxuandecode4140 我是浏览器没有出现index页面,就是刷不出来。
@@军-m5r 先不要管能不能刷得出来的问题,先解决你后端程序出了什么问题。只有把后端问题解决了,你的页面才能正常显示。
来了!
凑热闹哦😅
➜ Server node server.jsevents.js:292 throw er; // Unhandled 'error' event ^Error: listen EADDRINUSE: address already in use 127.0.0.1:3000 at Server.setupListenHandle [as _listen2] (net.js:1318:16) at listenInCluster (net.js:1366:12) at doListen (net.js:1503:7) at processTicksAndRejections (internal/process/task_queues.js:81:21)Emitted 'error' event on Server instance at: at emitErrorNT (net.js:1345:8) at processTicksAndRejections (internal/process/task_queues.js:80:21) { code: 'EADDRINUSE', errno: -48, syscall: 'listen', address: '127.0.0.1', port: 3000}老師請問這是什麼意思.... 跑不出來耶,我是照著你的影片打的,後來從你的GitHub copy下來貼上也是這個問題
是不是在其他的窗口里运行着一样的程序?它投诉说端口3000已被调用
@@wenxuandecode4140 我解決了,就是老師您說的問題!感謝您~~~
@@moshkid23y 不客气,加油!
打卡
万分感谢 😀
😃
不客气 😀 希望你能早日上手,对了,有时间去Codetisan自学编程平台看看吧,可能对你有帮助,免费内容我们正在持续更新中:www.codetisan.com
簽到
敬礼!
博主真的非常有耐心,完全从初学者的角度触发,教学的同时还不忘讲解一些细枝末节但有必要的东西。
谢谢你的留言,真心希望这些教学对你有帮助,加油!
必须每一个视频都留言鼓励一下 po主真的很用心 对于我们这些初学者来说 太有用了
谢谢你的支持!加油!
讲解视频做的太棒了!简单易懂~😀
請問老師13:42的readfile callback的error參數,什麼時候才會觸發if (error) 內的語句?老師的說明是讀取文件發生錯誤就會走這條路,但像影片最後用了hello.html,都是返回404 page not found,而非sorry, internal error. 但hello.html文件不存在,為何不會發生error?
啊,我懂了,因為是http.createServer的if (method === 'GET')之後確認url的if-else if- else語句裡面才會執行sendResponse函式,而fs.readFile在sendResponse函式裡面。
當我訪問任何頁面都是在執行http.createServer,即便html文件不存在,都會走else { sendRes('404.html', 404, res); } ,所以當文件不存在,請求的頁面data永遠是404.html
若要看到sorry, internal error.,就要連404.html文件都不存在才會出現。
WenXuan老师教学很细,刚看完两集,准备把您的NodeJS系列看完
谢谢!
呜呜,很有帮助哦,清晰易懂,我个小小白都看懂了,感谢💮
谢谢,加油!
簡潔有力! 看了 3 epi終於明白了 nodejs server的運作了 >.
你的吸收和理解能力非常好,加油哦~
感謝您無私的教學,謝謝您.
不客气,希望你能从中收益
老師,您好在19:06時我重啓服務器后顯示node:internal/modules/cjs/loader:988
throw err;
^
Error: Cannot find module 'FS'
Require stack:
- C:\Users\cosmi\Documents\3
ode\server.js
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:985:15)
at Function.Module._load (node:internal/modules/cjs/loader:833:27)
at Module.require (node:internal/modules/cjs/loader:1057:19)
at require (node:internal/modules/cjs/helpers:103:18)
at Object. (C:\Users\cosmi\Documents\3
ode\server.js:2:12)
at Module._compile (node:internal/modules/cjs/loader:1155:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1209:10)
at Module.load (node:internal/modules/cjs/loader:1033:32)
at Function.Module._load (node:internal/modules/cjs/loader:868:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [ 'C:\\Users\\cosmi\\Documents\\3\
ode\\server.js' ]
}
你好 視頻太棒了,我有一個問題,最後從服務器打開的網頁沒有CSS央視,怎麽辦?!
太棒了,很清楚,一看就懂
谢谢你的留言,你也很棒!加油哦!😀
非常有用!期待出进阶版。
文轩讲得特别好,也容易懂
谢谢你的支持哦!希望能帮你快速入门编程 :)
老师为什么我的一直显示Sorry, internal error
請問為什麼 我開啟網站後沒有開啟 index.html 介面
而是下載了一個檔案 內容和 index.html 的代碼一樣
是不是返回的response有误?
有一个问题请教,按照您的代码,一切正常,但我的style.css没有loading。望解答 提前感谢!(双击打开网页文件都是有css渲染的)
是style.css没加载成功吗?
@@wenxuandecode4140 是的 页面没有渲染 但是我找到文件夹 打开html文件的时候 是有渲染的
麻烦问一下readFile方程里面的给出path的 `./html/${filename}` 的左右两边的 ` 符号一般在js中是用来干嘛的啊,在python中没有遇到过
你好,那是template string的符号,js里string可以用single quotation, double quotation 和 back tick显示
欢迎来discord交流站互动,有问题可以直接在里面提问 😀
@@wenxuandecode4140 我也试了single quotation, double quotation, 但是貌似只有back tick可行...请问discord入口是什么呀,扫码好像进的是facebook group
非常實用 太感謝了!!
不客气,希望你受益 :)
为什么我的request.method一次性会返回两个值?
想請問博主,爲什麽當我進入頁面后所有的東西都會顯示出來,例如大標題,而不是只顯示大標題,謝謝?
你好,请问还显示其他什么东西了?
我也遇到同樣問題,但解決了。
問題可能在這裡:
在sendResponse裡,如果讀取檔案沒有出現error時,進入else{},裡面的response.setHeader()。裡面的Content-Type 必須是 "text/html"。和出現錯誤的Content-Type "text/plain"不一樣。
我不小心將text/html 改成 text/plain,網頁顯示就無法將html檔案視為html,而是純文字(plain)了。
希望我的解釋能幫到你
@@TheBlvision 確實是這個問題,現在解決了.十分感謝
請問文軒老師為甚麼我的vscode經常自動幫我加上 const { request } = require("express");
每次debug的時候都出錯,就是系統自動幫我加上這行,不知道原因是甚麼。
是不是安装了可以自动引入的插件?检查一下
@@wenxuandecode4140 感謝文軒老師回復,是裝了不少插件,我再查看看。
感謝您
不客气,加油!
读取filename的时候错了 一直显示error的 sorry, internal error 是什么问题啊
去console.log(error) 看看实际错误,还有确保文件的路径正确
@@wenxuandecode4140 可以了 感谢
@@guangyang8596 👌 加油!
用什么浏览器呢?我用chrome, 如果输入hello.html 得到Failed to load resource: the server responded with a status of 404 (),输入about.html, 会自动下载about.html文件。求问这是为什么呢?
截图一下你的代码吧
@@wenxuandecode4140
const http = require("http")
const fs = require("fs")
const sendResponse = (filename, statusCode, response) => {
console.log(`./html/${filename}`)
fs.readFile(`./html/${filename}`, (error, data) => {
if (error){
response.statusCode = 500
response.setHeader("Content-Type", "test/plain")
response.end("sorry, internal error")
}else {
response.statusCode = statusCode
response.setHeader("Content-Type", "test/html")
response.end()
}
})
}
const server = http.createServer((request, response) => {
console.log(request.url, request.method)
const method = request.method
const url = request.url
if (method === "GET"){
if (url === "/"){
sendResponse("index.html", 200, response)
}else if (url === "/about.html") {
sendResponse("about.html", 200, response)
}else{
sendResponse("404.html", 404, response)
}
}
})
const port: number = 5000
const ip: string = "127.0.0.1"
server.listen(port, ip, () => {
console.log(`Server is running at ${ip}:${port}`)
})
@@wenxuandecode4140 感觉和你的代码一模一样。是不是需要改chrome里的一些设置?
@@xinyuanliu1959 我看了一下,是这里出了问题:"test/html",正确的是"text/html"
response.setHeader("Content-Type", "text/html")
这是因为Chrome不能显示,也识别不了test/html类别的文件,所以会自动下载,改了就好了。
还有就是接的要返回data数据,不然网页不会显示内容 :)
@@wenxuandecode4140 万分感谢!
我想發個問題,我今天把頁面標題(在瀏覽器標籤顯示的)設為一串中文字,卻跑出斷碼,是哪個環節的問題呢?要怎麼樣才能讓他用utf-8編碼方式顯示中文呢?
你好,可以尝试在标签里添加
对了,有时间欢迎你去Codetisan自学平台练习,练习题会持续的更新 :)
www.codetisan.com/zh-cn/practise
加油加油赶紧出下个视频😂
开足马力哦😂
我的不仅返回了请求的URL,还返回了一个/favicon.ico 请问一下这是什么啊?
这个favicon是显示在Chrome tab上的小图标
为什么我写的一模一样但是浏览器还是报错?希望能够得到回复 感谢
可能说明还是不太一样 😝
老师好,bug大佬来了。请问:我只收到error、i.e.statusCode:500...我认为跟上一讲我遇到的bug有关。 我的sendResponse里的filename未被读取, ${filename} 也无法识别...就给我throw error back。求文轩大佬有空回复!
注意标点符号,请截图一下你的代码,然后发到自学编程社区里
請問一下我該怎麼實踐在15.19提到的情況呢?我想看看服務器報錯時的網頁的所有細節
你好!这个简单,console.log(error) 就可以查看error里的数据 :)
老师那个方程不用在前面写function嘛
老師在上個視頻有提到這是較新的定義函數的方式,是為了讓代碼整體看起來比較簡潔
老師 和你代碼一模一樣,但是不管什麼頁面 只要通過服務器啟動的 都是internal error,输入任何网页,不管有没有的,都是internal error,不会显示404,状态码都是200
你的問題應該是抓不到html文件,所以顯示internal error
你看看你的第五行「./html/${filename}」把中間的「/html 」刪除看看
尝试将你的代码发到自学编程社区里,让我们帮你看看~~
@@wenxuandecode4140 问题已经结束了 是文件路径问题,重新看了一遍视频就搞定了 目前到login success 账号密码都弄完了 也可以显示页面了 非常感谢。
@@charlielau2363 那就好,继续加油哦!加入到自学编程社区了吗?有时间去看看吧~
@@wenxuandecode4140 好 一定去,主要现在有个实习项目要做个这样用户可以注册和登录的网站 还要po一些东西,我也没啥经验,只能youtube找资源,感觉您教的很好
老师教得好好, 签到一下, 加油加油
谢谢你的用心 😁
老师如果去了b站肯定会火
哈哈,为什么那么肯定?
@@wenxuandecode4140 我看的好几个老师都没你讲的好,不过听你的课要跟着做笔记才行
@@wenxuandecode4140 而且在油管会错失大量的内地学生,说起来我的vpn也快到期了。。。
都照著打但一直無法顯示
最後發現“GET”三個都是大寫 乾
希望幫到有緣人:)
谢谢你的分享,会有人受益 :)
請問Node.js 為何不用javascript function, 如#4 constant sendResponse=(){}, 為何不寫成 function sendResponse(){}?
全程靠抄,再刷一遍希望能有收获
反复练习会有收获的
超喜欢你的视频,可以做多点进阶版的吗?
会的,谢谢你的支持!欢迎去自学编程社区里和其他同学讨论和互动哦😀
@@wenxuandecode4140 很奇怪,我是用老师您的方法,虽然terminal出现/GET,但是页面刷不出来
@@军-m5r 要显示的页面文件路径对吗?尝试console.log() 内容
@@wenxuandecode4140 我是浏览器没有出现index页面,就是刷不出来。
@@军-m5r 先不要管能不能刷得出来的问题,先解决你后端程序出了什么问题。只有把后端问题解决了,你的页面才能正常显示。
来了!
凑热闹哦😅
➜ Server node server.js
events.js:292
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE: address already in use 127.0.0.1:3000
at Server.setupListenHandle [as _listen2] (net.js:1318:16)
at listenInCluster (net.js:1366:12)
at doListen (net.js:1503:7)
at processTicksAndRejections (internal/process/task_queues.js:81:21)
Emitted 'error' event on Server instance at:
at emitErrorNT (net.js:1345:8)
at processTicksAndRejections (internal/process/task_queues.js:80:21) {
code: 'EADDRINUSE',
errno: -48,
syscall: 'listen',
address: '127.0.0.1',
port: 3000
}
老師請問這是什麼意思.... 跑不出來耶,我是照著你的影片打的,後來從你的GitHub copy下來貼上也是這個問題
是不是在其他的窗口里运行着一样的程序?它投诉说端口3000已被调用
@@wenxuandecode4140 我解決了,就是老師您說的問題!感謝您~~~
@@moshkid23y 不客气,加油!
打卡
万分感谢 😀
😃
不客气 😀 希望你能早日上手,对了,有时间去Codetisan自学编程平台看看吧,可能对你有帮助,免费内容我们正在持续更新中:www.codetisan.com
簽到
敬礼!