国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當前位置: 首頁 > news >正文

外貿網站開發(fā)公司百度上怎么發(fā)布信息啊

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

1.node是什么

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

Node不是一個獨立的語言、node不是JS框架。

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

Node.js是一個讓JS運行在服務端的開發(fā)平臺,是使用事件驅動,異步非阻塞I/O,單線程,跨平臺的JS運行環(huán)境;

不是運行在瀏覽器上,而是運行在服務器上

2.為什么要學習node

A. 打開服務器的黑盒子

B. 企業(yè)需求

C. 大前端必備技能

D. 為了更好的學習前端框架

3.node能做什么

A. Web服務器(重點)

B. 命令行工具

C. 網絡爬蟲:是一種按照一定的規(guī)則,自動地抓取網站信息的程序

D. 桌面應用程序開發(fā)(VS Code)

4.node發(fā)展歷史

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

5.下載安裝

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

在安裝過程中,盡量不改變路徑

6.運行node

6.1 找到安裝路徑法

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

6.2 cmd法

A.win+r,輸入cmd,輸入node
在這里插入圖片描述
B.運行指定文件
在這里插入圖片描述
C.在對應路徑下,輸入cmd
在這里插入圖片描述

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

在這里插入圖片描述

7.讀取文件

7.1 讀文件

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

語法結構:

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

說明:

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

B. options:encoding 默認值null

C. callback:function

? err:error

? Data

異步地讀取文件內容

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

7.2 寫文件

文檔參考地址

語法結構:

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

8.http請求–請求路由

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

9.響應一個完整的html頁面–請求html頁面

index.html

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

index.js

// 導入模塊
var http = require('http');
var fs = require('fs');var server = http.createServer(); // 創(chuàng)建一個服務// 響應
server.on('request', function (req, res) {// 當出現(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'); // 如果只寫 res.write(),那么會一直在運行,必須寫上end,相對較麻煩// res.end('加載一段話2'); // 也可以直接寫在res.end()里面// 可以直接在end里面編寫,當直接寫html標簽是無法識別,需要修改setHeader// res.end('寫在end<b>里面的</b>一段話'); // 再end里面可以寫html代碼,但是如果要寫一段的html呢// 如果有很多html內容,或者是一個界面都需要渲染的話,就用下面的方式,用讀取文件形式fs.readFile('./03index.html','utf8', function (err, data) {res.end(data)})
})// 加載端口
server.listen(5656, function () {console.log('端口localhost:5656,已啟動...');
})

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

index.js

// 導入模塊
var http = require('http')
var fs = require('fs')var server = http.createServer() // 創(chuàng)建一個服務// 響應
server.on('request', function (req, res) {// 防止亂碼res.setHeader('Content-Type', 'text/html;charset=utf-8')// 1.加載靜態(tài)網頁,直接這樣讀取,是不能識別圖片和其他靜態(tài)資源的,這個時候,request 有一個非常重要的屬性 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內容fs.readFile('03index.html', function (err, data) {res.end(data)})} else { // 其他靜態(tài)外部資源// 注意,讀取圖片的時候,不能加字符集fs.readFile('.' + req.url, function (err, data) {res.end(data)})}
})// 加載端口
server.listen(5656, function () {console.log('端口localhost:5656已啟動......');
})

11.仿apache/iis服務器加載文件資源

index.html

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>仿服務器資源</title>
</head><body><h1>Index Of</h1><table border="1" width="600"><thead><th>圖片</th><th>文件名稱</th><th>最后更改時間</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();//響應
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.因為data返回的數(shù)據(jù)是數(shù)組,需要轉化為json//response.end(JSON.stringify(data));//返回的這種數(shù)據(jù),暫時不符合我們的要求//2.讀取完名字后要獲得其他屬性,返回的形式[{uname,size,time,type},{},{}],要定義返回一個數(shù)組var data_arr = [];//數(shù)組里面存放的對象,一個文件就是一個對象var count = 0;//計數(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');//判斷什么時候返回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正在啟動.....');
});

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

11.1 引用時間模塊

npm install moment;–第三方模塊

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

12.1 什么是JSON

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

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

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

12.2 JSON的兩種結構

JSON就是用字符串來表示JS的對象和數(shù)組。所以,JSON中包含對象和數(shù)組兩種結構,通過這兩種結構的相互嵌套,可以表示各種復雜的數(shù)據(jù)結構

A.對象結構

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

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

B.數(shù)組結構

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

12.3 JSON語法注意事項

A. 屬性名必須使用雙引號包裹

B. 字符串類型的值必須使用雙引號包裹

C. JSON中不允許使用單引號表示字符串

D. JSON中不能寫注釋

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

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

JSON的作用:在計算機與網絡之間存儲和傳輸數(shù)據(jù)

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

12.4 json和js對象的互轉

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

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

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

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

12.5 序列化和反序列化

把數(shù)據(jù)對象轉化為字符串的過程,叫做序列化,例如:調用JSON.stringify()函數(shù)的操作,叫做JSON序列化

把字符串轉化為數(shù)據(jù)對象的過程,叫做反序列化,例如:調用JSON.parse()函數(shù)的操作,叫做JSON反序列化

http://m.aloenet.com.cn/news/39408.html

相關文章:

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