『壹』 用nodejs寫了個登陸,放到外網的一個伺服器上了,但是怎麼訪問
如果伺服器使用的IP是內網IP(比如192.168開頭的那種),那是肯定無法從外網直接訪問的(想想全世界會有多少個和你伺服器IP相同的機子吧),外網只能訪問到你的路由器(或者硬體防火牆)的外網埠(它的IP是一個公網IP地址)
如果你需要從外網訪問內網的伺服器,你必須在你的路由器(或防火牆)的外網埠配置NAT,將這個外網IP的指定埠映射到你的內網伺服器上(這叫做埠映射)
比如說你這是一台Web伺服器,啟用了80埠,你需要在路由器上為外網埠配置NAT,將這個外網IP的80埠映射到你這台伺服器IP的80埠,配置完成後,你可以在外網用這台路由器的公網IP來訪問到你的這台內網伺服器的Web頁(當然你在外網只能用公網IP訪問.網時伺服器
『貳』 nodejs-koa2(mvc模式)前後端分離 前端設計
前後端分離,前端nodejs運行環境,使用koa2集成負責資源分配與用戶交互,實現token驗證用戶身份,路由控制。等!
自行 網路 解決;
"program": "${workspaceFolder}app.js"
此處就是是將app.js作為啟動文件。${workspaceFolder}代表根目錄,vsc啟動時會在根目錄下找到並載入app.js文件。
參數介紹: name 項目名稱、 version 版本號、 description 項目描述、 main 項目啟動文件、 scripts 啟動快捷設置, author 作者, dependencies 第3方中間件名稱及版本。
最重要的
「 dependencies 」這里添加一些要用到的包,以上是這次要用到的所有的包,版本自己更改。
「 scripts 」這里是一些nodejs的便捷命令,上線的時候會用到,直接在終端中,package.json同級目錄 ,執行『npm start』 即 可啟動app.js。
別的沒啥太大作用瞎寫即可。
啟動相關配置,封裝到config/init.js中,啟動文件直接引用即可
3-6-1、init.js項目核心。
異常友好處理方法封裝
路由配置
視圖渲染
核心集成
3-6-2、config.js項目參數配置。為什麼不用json文件 因為json不能加註釋
3-6-3、token.js項目token相關方法封裝。
執行後項目結構會增加兩個文件
新增
src/hello.js。
views/index.html
瀏覽器訪問: http://127.0.0.1:3000/koa/login
輸入值獲取token
獲取的token如圖:
先不用帶token進行訪問: http://127.0.0.1:3000/koa/ hello/jiaobaba,被token攔截,返回401
帶上token訪問: http://127.0.0.1:3000/koa/ hello/jiaobaba
測試頁面渲染,及跳轉html頁面,直接訪問 http://127.0.0.1:3000/koa /views
結束!!!!!!
需要源碼聯系我
『叄』 nodejs搭建web伺服器就是這么簡單!
Node.js 是一個基於 Chrome V8 引擎的 JavaScript 運行環境。 Node.js 使用了一個事件驅動、非阻塞式 I/O 的模型,使其輕量又高效。Node.js 的包管理器 npm,是全球最大的開源庫生態系統。(nodejs官網上的介紹),正如官網上介紹的那樣,nodejs確實很牛!怎麼個牛法?看看下面的代碼就知道了。
//引入http模塊
var http = require("http");
//設置主機名
var hostName = 飗.0.0.1'
//設置埠
var port = 8080;
//創建服務
var server = http.createServer(function(req,res){
res.setHeader('Content-Type','text/plain');
res.end("hello nodejs");
});
server.listen(port,hostName,function(){
console.log(`伺服器運行在http://${hostName}:${port}`);
});
短短幾行代碼就把一個簡單的web伺服器搭建完成了,為了驗證效果,我們在瀏覽器請求,結果如下
運行成功!
到此為止,一個web伺服器就建立成功了! 沒錯就是這么簡單,然後我們就可以寫個html界面愉快的玩耍了,哈哈哈!果斷的寫了一個html頁面來請求一下我們的web伺服器。
代碼簡單,點擊p獲取數據並將伺服器返回的數據展示。好了,我們運行一下demo.html文件,我擦來!居然出現了……
很明顯,通過jquery請求不到數據,這是因為跨域請求的原因。我們的web伺服器並不支持跨域請求,所以報錯了。解決方式:在伺服器的響應頭文件里加上如下代碼:
再次重啟伺服器,運行demo.html,顯示結果很是令人欣喜!
通常請求伺服器都會拼接參數的,最常用的就是get請求,post請求。很明顯,我們現在的代碼還不能支持。express框架很好的封裝了nodejs的http模塊,使我們用起來非常的簡單。
引入express :$ cnpm install express –save
使用方式變化不大,通過express()方法開啟服務,然後在通過get方法來設置匹配參數的路由,通過在回調函數的req中可以獲取請求參數和地址。post請求也是類似,不過有不同的是,post請求在獲取參數的時候要引入body-parser 中間件,用於處理 JSON, Raw, Text 和 URL 編碼的數據。
運行結果:
完整的get以及post請求就是以上了。下一篇文章會結果fs文件模塊介紹http是如何返迴文件的,敬請期待!!
學習從來不是一個人的事情,要有個相互監督的夥伴,想要學習或交流前端問題的小夥伴可以私信「學習」小明加群獲取2019web前端最新入門資料,一起學習,一起成長!
『肆』 nodejs express 路由設置網頁跳轉
1、首先創建app.js,輸入:
varexpress=require("express")
varport=process.env.PORT||3000
varapp=express()
app.set('views','./views')
app.set('viewengine','jade')
app.listen(port);