中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

外貿(mào)網(wǎng)站開(kāi)發(fā)公司百度上怎么發(fā)布信息啊

外貿(mào)網(wǎng)站開(kāi)發(fā)公司,百度上怎么發(fā)布信息啊,ui設(shè)計(jì)35歲就被淘汰了嗎,動(dòng)易網(wǎng)站地圖1.node是什么 Node是一個(gè)基于Chrome V8引擎的JS運(yùn)行環(huán)境。 Node不是一個(gè)獨(dú)立的語(yǔ)言、node不是JS框架。 Node是一個(gè)除了瀏覽器之外的、可以讓JS運(yùn)行的環(huán)境 Node.js是一個(gè)讓JS運(yùn)行在服務(wù)端的開(kāi)發(fā)平臺(tái),是使用事件驅(qū)動(dòng),異步非阻塞I/O,單線程&…

1.node是什么

Node是一個(gè)基于Chrome V8引擎的JS運(yùn)行環(huán)境。

Node不是一個(gè)獨(dú)立的語(yǔ)言、node不是JS框架。

Node是一個(gè)除了瀏覽器之外的、可以讓JS運(yùn)行的環(huán)境

Node.js是一個(gè)讓JS運(yùn)行在服務(wù)端的開(kāi)發(fā)平臺(tái),是使用事件驅(qū)動(dòng),異步非阻塞I/O,單線程,跨平臺(tái)的JS運(yùn)行環(huán)境;

不是運(yùn)行在瀏覽器上,而是運(yùn)行在服務(wù)器上

2.為什么要學(xué)習(xí)node

A. 打開(kāi)服務(wù)器的黑盒子

B. 企業(yè)需求

C. 大前端必備技能

D. 為了更好的學(xué)習(xí)前端框架

3.node能做什么

A. Web服務(wù)器(重點(diǎn))

B. 命令行工具

C. 網(wǎng)絡(luò)爬蟲(chóng):是一種按照一定的規(guī)則,自動(dòng)地抓取網(wǎng)站信息的程序

D. 桌面應(yīng)用程序開(kāi)發(fā)(VS Code)

4.node發(fā)展歷史

https://blog.csdn.net/stpan22/article/details/104466554

5.下載安裝

https://nodejs.org/zh-cn/download/

在安裝過(guò)程中,盡量不改變路徑

6.運(yùn)行node

6.1 找到安裝路徑法

在這里插入圖片描述
雙擊node.exe
在這里插入圖片描述
可以直接寫(xiě)js代碼

6.2 cmd法

A.win+r,輸入cmd,輸入node
在這里插入圖片描述
B.運(yùn)行指定文件
在這里插入圖片描述
C.在對(duì)應(yīng)路徑下,輸入cmd
在這里插入圖片描述

6.3 REPL環(huán)境-集成終端

在這里插入圖片描述

7.讀取文件

7.1 讀文件

穩(wěn)當(dāng)參考路徑:http://nodejs.cn/api/fs.html#fsreadfilepath-options-callback

語(yǔ)法結(jié)構(gòu):

fs.read(fd[, options], callback)

說(shuō)明:

A. fd:文件名或文件描述符

B. options:encoding 默認(rèn)值null

C. callback:function

? err:error

? Data

異步地讀取文件內(nèi)容

var fs = require('fs')  --引入fs模塊fs.readFile('./file.txt', 'utf8', function (err, data) {console.log(err);console.log(data);
})

7.2 寫(xiě)文件

文檔參考地址

語(yǔ)法結(jié)構(gòu):

fs.writeFile(file, data[, options], callback)
// 寫(xiě)入操作-先讀取,再寫(xiě)入
var fs = require('fs')fs.readFile('./file.txt', 'utf8', function (err, data) {data += "hello world~"console.log(data);// 再寫(xiě)入fs.writeFile('./file.txt', data, function (err) {if (!err) {console.log('寫(xiě)入成功!');}})
})

8.http請(qǐng)求–請(qǐng)求路由

// 引入http核心模塊
var http = require('http');// 創(chuàng)建一個(gè)服務(wù)
var server = http.createServer();// req是誰(shuí)請(qǐng)求,什么時(shí)候請(qǐng)求,res響應(yīng)數(shù)據(jù)
server.on('request', function (req, res) {// 設(shè)置響應(yīng)頭信息,用于防止亂碼,以下兩句都可以防止亂碼// 第一種方式res.setHeader('Content-Type', 'text/plain;charset=utf-8')// 第二種方式// res.writeHead(200, {//   'content-type':"text/html;charset=utf-8"// })res.write('測(cè)試'); // 寫(xiě)入流res.write('hhhhhhhhh'); // 寫(xiě)入流res.end(); //響應(yīng),只要不寫(xiě)end,文本都可以輸出
})// 創(chuàng)建監(jiān)聽(tīng):請(qǐng)求會(huì)被轉(zhuǎn)化為二進(jìn)制,輸出也需要把二進(jìn)制進(jìn)行編譯
// 啟動(dòng)監(jiān)聽(tīng),設(shè)置一個(gè)端口號(hào),這個(gè)端口的取值返回0-65535
server.listen('9999');
console.log('服務(wù)器已啟動(dòng),監(jiān)聽(tīng)端口9999,請(qǐng)?jiān)L問(wèn)localhost:9999');

9.響應(yīng)一個(gè)完整的html頁(yè)面–請(qǐng)求html頁(yè)面

index.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>響應(yīng)一個(gè)完整的html頁(yè)面</title>
</head>
<body><div>響應(yīng)一個(gè)完整的html頁(yè)面</div><h1>我是標(biāo)題</h1><b>我是b標(biāo)簽</b><img src="./imgs/yuhang.jpg" alt="">
</body>
</html>

index.js

// 導(dǎo)入模塊
var http = require('http');
var fs = require('fs');var server = http.createServer(); // 創(chuàng)建一個(gè)服務(wù)// 響應(yīng)
server.on('request', function (req, res) {// 當(dāng)出現(xiàn)亂碼// res.setHeader('Content-Type','text/plain;charset=utf-8'); // 只能加載文本res.setHeader('Content-Type', 'text/html;charset=utf-8'); // 如果想要加載html需要把plain修改為html// res.write('加載一段話1'); // 如果只寫(xiě) res.write(),那么會(huì)一直在運(yùn)行,必須寫(xiě)上end,相對(duì)較麻煩// res.end('加載一段話2'); // 也可以直接寫(xiě)在res.end()里面// 可以直接在end里面編寫(xiě),當(dāng)直接寫(xiě)html標(biāo)簽是無(wú)法識(shí)別,需要修改setHeader// res.end('寫(xiě)在end<b>里面的</b>一段話'); // 再end里面可以寫(xiě)html代碼,但是如果要寫(xiě)一段的html呢// 如果有很多html內(nèi)容,或者是一個(gè)界面都需要渲染的話,就用下面的方式,用讀取文件形式fs.readFile('./03index.html','utf8', function (err, data) {res.end(data)})
})// 加載端口
server.listen(5656, function () {console.log('端口localhost:5656,已啟動(dòng)...');
})

10.響應(yīng)一張圖片或是靜態(tài)資源–請(qǐng)求外部靜態(tài)資源

index.js

// 導(dǎo)入模塊
var http = require('http')
var fs = require('fs')var server = http.createServer() // 創(chuàng)建一個(gè)服務(wù)// 響應(yīng)
server.on('request', function (req, res) {// 防止亂碼res.setHeader('Content-Type', 'text/html;charset=utf-8')// 1.加載靜態(tài)網(wǎng)頁(yè),直接這樣讀取,是不能識(shí)別圖片和其他靜態(tài)資源的,這個(gè)時(shí)候,request 有一個(gè)非常重要的屬性 url// fs.readFile('./03index.html', 'utf8', function (err, data) {//   res.end(data)// })// 2.返回request的url屬性// fs.readFile('./03index.html', 'utf8', function (err, data) {//   console.log(req.url,'request.url');//   res.end(data)// })// 3.綜合綁定if (req.url == '/') { // 靜態(tài)的html內(nèi)容fs.readFile('03index.html', function (err, data) {res.end(data)})} else { // 其他靜態(tài)外部資源// 注意,讀取圖片的時(shí)候,不能加字符集fs.readFile('.' + req.url, function (err, data) {res.end(data)})}
})// 加載端口
server.listen(5656, function () {console.log('端口localhost:5656已啟動(dòng)......');
})

11.仿apache/iis服務(wù)器加載文件資源

index.html

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>仿服務(wù)器資源</title>
</head><body><h1>Index Of</h1><table border="1" width="600"><thead><th>圖片</th><th>文件名稱</th><th>最后更改時(shí)間</th><th>大小</th><th>文件類型</th></thead><tbody id="tShow"></tbody></table>
</body>
<script>var xhr = new XMLHttpRequest();xhr.onreadystatechange = function () {if (xhr.readyState == 4) {var data = JSON.parse(xhr.responseText);var content = '';for (var i = 0; i < data.length; i++) {content += "<tr>";if (data[i].type == "F") {content += "<td><img src='./imgs/1.jpg' width='50' /></td>"} else {content += "<td><img src='./imgs/2.jpg' width='50' /></td>"}content += "<td>" + data[i].uname + "</td>";content += "<td>" + data[i].mtime + "</td>";content += "<td>" + data[i].size + "</td>";content += "<td>" + (data[i].type == "F" ? "文件" : "文件夾") + "</td>";content += "</tr>";}document.querySelector('#tShow').innerHTML=content;}}xhr.open('get', './file_list');xhr.send();
</script></html>

index.js

var http = require('http');
var fs = require('fs');
var moment=require('moment');var server = http.createServer();//響應(yīng)
server.on('request', function (request, response) {//防止亂碼response.setHeader('Content-type', "text/html;charset=utf-8");//普通html文檔if (request.url == '/') {fs.readFile('3.index.html', function (err, data) {response.end(data);})}else if (request.url == '/file_list') {fs.readdir('./', 'utf8', function (err, data) {//1.因?yàn)閐ata返回的數(shù)據(jù)是數(shù)組,需要轉(zhuǎn)化為json//response.end(JSON.stringify(data));//返回的這種數(shù)據(jù),暫時(shí)不符合我們的要求//2.讀取完名字后要獲得其他屬性,返回的形式[{uname,size,time,type},{},{}],要定義返回一個(gè)數(shù)組var data_arr = [];//數(shù)組里面存放的對(duì)象,一個(gè)文件就是一個(gè)對(duì)象var count = 0;//計(jì)數(shù)器for (var i = 0; i < data.length; i++) {data_arr[i] = {};(function (i) {//獲取其他屬性fs.stat(data[i], function (err1, data1) {count++;if (data1.isFile()) {data_arr[i].type = "F";} else {data_arr[i].type = "FN";}data_arr[i].uname = data[i];data_arr[i].size = data1.size;data_arr[i].mtime = moment(data1.mtime).format('YYYY-MM-DD hh:mm:ss');//判斷什么時(shí)候返回if(count==data.length){response.end(JSON.stringify(data_arr));}})})(i)}})}else {//其他資源fs.readFile('.' + request.url, function (err, data) {response.end(data);})}
})//端口
server.listen(1234, function (err, data) {console.log('端口1234正在啟動(dòng).....');
});

在這里插入圖片描述
上述代碼注意閉包!

11.1 引用時(shí)間模塊

npm install moment;–第三方模塊

12.json數(shù)據(jù)

12.1 什么是JSON

概念:JSON的英文全稱是JavaScript Object Notation,即”JavaScript對(duì)象表示法”。簡(jiǎn)單來(lái)講,JSON就是JavaScript對(duì)象和數(shù)組的字符串表示法,它使用文本表示一個(gè)JS對(duì)象或數(shù)組的信息,因此JSON的本質(zhì)是字符串

作用:JSON是一種輕量級(jí)的文本數(shù)據(jù)交換格式,在作用上類似于XML,專門(mén)用于存儲(chǔ)和傳輸數(shù)據(jù),但是JSON比XML更小、更快、更易解析。

現(xiàn)狀:JSON是在2001年開(kāi)始被推廣和使用的數(shù)據(jù)格式,到現(xiàn)今為止,JSON已經(jīng)稱為了主力的數(shù)據(jù)交換格式。

12.2 JSON的兩種結(jié)構(gòu)

JSON就是用字符串來(lái)表示JS的對(duì)象和數(shù)組。所以,JSON中包含對(duì)象和數(shù)組兩種結(jié)構(gòu),通過(guò)這兩種結(jié)構(gòu)的相互嵌套,可以表示各種復(fù)雜的數(shù)據(jù)結(jié)構(gòu)

A.對(duì)象結(jié)構(gòu)

對(duì)象結(jié)構(gòu)在JSON中表示為{}括起來(lái)的內(nèi)容。數(shù)據(jù)結(jié)構(gòu)為{key:value,key:value…}的鍵值對(duì)結(jié)構(gòu)。其中,key必須是使用英文的雙引號(hào)包裹的字符串,value的數(shù)據(jù)類型可以是數(shù)字、字符串、布爾值、null、數(shù)組、對(duì)象6種類型

//這是一個(gè)對(duì)象
var obj = { a: 'hello', b: 'world' }//這是一個(gè)json,本質(zhì)是字符串
var json = '{"a":"hello","b":"world"}'console.log(obj);
console.log(json);

B.數(shù)組結(jié)構(gòu)

數(shù)組結(jié)構(gòu)在JSON種表示為[]括起來(lái)的內(nèi)容。數(shù)據(jù)結(jié)構(gòu)為[“java”,”javascript”,30,true…]。數(shù)組種的數(shù)據(jù)的類型可以是數(shù)字、字符串、布爾值、null、數(shù)組、對(duì)象六種類型。

12.3 JSON語(yǔ)法注意事項(xiàng)

A. 屬性名必須使用雙引號(hào)包裹

B. 字符串類型的值必須使用雙引號(hào)包裹

C. JSON中不允許使用單引號(hào)表示字符串

D. JSON中不能寫(xiě)注釋

E. JSON的最外層必須是對(duì)象或數(shù)組格式

F. 不能使用undefined或函數(shù)作為JSON的值

JSON的作用:在計(jì)算機(jī)與網(wǎng)絡(luò)之間存儲(chǔ)和傳輸數(shù)據(jù)

JSON的本質(zhì):用字符串來(lái)表示JS對(duì)象數(shù)據(jù)或數(shù)組數(shù)據(jù)

12.4 json和js對(duì)象的互轉(zhuǎn)

要實(shí)現(xiàn)從JSON字符串轉(zhuǎn)化為JS對(duì)象,使用JSON.parse()方法:字符串->對(duì)象

var json='{"a":"hello","b":"world"}'
var obj=JSON.parse(json);
console.log(obj);

要實(shí)現(xiàn)從JS對(duì)象轉(zhuǎn)化為JSON字符串,使用JSON.stringify()方法:對(duì)象->字符串

var temp=JSON.stringify(obj)
console.log(typeof(temp));

12.5 序列化和反序列化

把數(shù)據(jù)對(duì)象轉(zhuǎn)化為字符串的過(guò)程,叫做序列化,例如:調(diào)用JSON.stringify()函數(shù)的操作,叫做JSON序列化

把字符串轉(zhuǎn)化為數(shù)據(jù)對(duì)象的過(guò)程,叫做反序列化,例如:調(diào)用JSON.parse()函數(shù)的操作,叫做JSON反序列化

http://www.risenshineclean.com/news/39408.html

相關(guān)文章:

  • 臨沂蒼山網(wǎng)站建設(shè)百度聯(lián)盟
  • wordpress 電話鶴壁seo推廣
  • 做任務(wù)賺q紅包的網(wǎng)站百度統(tǒng)計(jì)收費(fèi)嗎
  • ps網(wǎng)站頭部如何優(yōu)化培訓(xùn)方式
  • 找別人做網(wǎng)站需要注意什么百度權(quán)重10的網(wǎng)站
  • 臨沂網(wǎng)站建設(shè)設(shè)計(jì)百度識(shí)圖網(wǎng)站
  • 網(wǎng)上服裝設(shè)計(jì)培訓(xùn)班seo推廣具體做什么
  • 鄭州網(wǎng)站seo優(yōu)微信朋友圈廣告在哪里做
  • 廣州小型網(wǎng)站建設(shè)公司平面設(shè)計(jì)正規(guī)培訓(xùn)機(jī)構(gòu)
  • 視頻彈幕網(wǎng)站怎么做百度搜索提交入口
  • 個(gè)人做商城網(wǎng)站大概多少錢(qián)友鏈網(wǎng)站
  • 做網(wǎng)站商城開(kāi)發(fā)什么語(yǔ)言最快seo站內(nèi)優(yōu)化培訓(xùn)
  • 煙臺(tái)企業(yè)網(wǎng)站開(kāi)發(fā)清博大數(shù)據(jù)輿情監(jiān)測(cè)平臺(tái)
  • 自己的主機(jī)做服務(wù)器網(wǎng)站如何備案網(wǎng)站多少錢(qián)
  • 網(wǎng)站建設(shè)成果seo 頁(yè)面鏈接優(yōu)化
  • wordpress不用郵件驗(yàn)證注冊(cè)谷歌seo服務(wù)
  • 哪家網(wǎng)站專門(mén)做折扣銷售seo搜索優(yōu)化網(wǎng)站推廣排名
  • wordpress 搜索詞天津seo顧問(wèn)
  • 網(wǎng)站建設(shè)哪里可以學(xué)seo軟件系統(tǒng)
  • wordpress ip security重慶seo網(wǎng)站
  • wordpress用qq登錄上海搜索排名優(yōu)化公司
  • 記事本做網(wǎng)站插圖片安卓?jī)?nèi)核級(jí)優(yōu)化神器
  • 網(wǎng)站系統(tǒng)建設(shè)需要什么資質(zhì)競(jìng)價(jià)網(wǎng)站推廣
  • 織夢(mèng)視頻網(wǎng)站模板今天最新新聞
  • 地方旅游網(wǎng)站建設(shè)方案自己可以創(chuàng)建網(wǎng)站嗎
  • 國(guó)內(nèi)html5視頻網(wǎng)站建設(shè)網(wǎng)站分析培訓(xùn)班
  • 做個(gè)簡(jiǎn)單網(wǎng)站大概多少錢(qián)中文搜索引擎有哪些平臺(tái)
  • 制作網(wǎng)站和制作網(wǎng)頁(yè)的分別免費(fèi)獎(jiǎng)勵(lì)自己的網(wǎng)站
  • 公家網(wǎng)站模板百度代運(yùn)營(yíng)
  • 做服務(wù)員哪個(gè)網(wǎng)站靠譜營(yíng)業(yè)推廣策劃方案