node知識點小結(一)
1、node概念
node是一個平臺 基於c++開發
不是有js才有node 是因為node的平臺,js才可以執行在伺服器端
學習資料https://nodejs.org/dist/latest-v14.x/docs/api/
學習node達到水平:
登入註冊、增刪改查。
基本的後臺管理系統需要獨立實現。
能理解清楚前後端分離思想。
會使用介面
在實際開發中,懂得如何和後臺進行互動
2、環境變數配置
3、包管理器以及模組化
npm其實是一個平臺,上面放了很多包。自己也可以定義包放在上面。
npm是一個國外的平臺,所以有時候下載會比較慢。可以使用國內映象cnpm或者yarn(快取)
如果網路比較慢,有時候會下載失敗。需要重新下載。
如果專案需要拷貝的時候,最好刪除node_modules資料夾。拷貝完了重新下載。
cnpm裝出來的包比較亂,不影響使用。一般網路情況允許的情況下,還是使用npm
cnpm安裝 npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm功能和npm一樣,使用方法一樣只是多了一個c cnpm install
安裝 cnpm install 檔名字@版本號 寫依賴-S/-D/-g
包管理工具只是node的一個功能而已。
模組化可以看另一篇文章:https://blog.csdn.net/weixin_53037175/article/details/111399717
4、執行node檔案
執行js相當於在伺服器環境下執行: node 檔名 終止程式碼ctrl+c
執行檔案的時候,找到檔案所在目錄,直接在node環境下(或者在目錄下cmd,前提要有node環境)執行檔案或者檔名字,不能取node
5、global
global是全域性物件,可以直接使用,不需要單獨引入.
node檔案相當於是伺服器的不是客戶端的
伺服器端沒有了window,有global
global相當於客戶端中的window
global.console.log('這是列印資訊');
定時器例子:
global.setInterval(function(){
console.log(1111);
}, 1000)
global.setTimeout(()=>{
console.log('這是單次定時器')
}, 100)
6、尋找路徑
當前檔案所在目錄
console.log(__dirname);
當前檔案地址
console.log(__filename);
7、const fs
fs是一個內建的模組,需要單獨引入。
模組引入的時候,一般使用const
fs是檔案系統,一般用來和檔案有關的操作
const fs=require('fs');
寫檔案
fs.writeFile('檔名','資料',(err)=>{})
fs.writeFile('my.xls','hello node',(err)=>{
if(err) throw err;
console.log('檔案書寫成功')
})
刪除檔案
fs.unlink('檔名字',(err)=>{})
fs.unlink('./my.xls',(err)=>{
if(err) throw err;
console.log('檔案刪除成功')
})
讀檔案
fs.readFile('./my.txt','utf-8',(err,data)=>{
if(err) throw err;
// data預設接收到的資料是buffer。如果需要轉化。
// 兩種方式1、data.toString() 2、增加引數'utf-8'
console.log(data)
console.log(data.toString())
})
新建資料夾
fs.mkdir('資料夾名字',(err)=>{}) 如果該目錄存在,去建立會報錯
fs.mkdir('jd',(err)=>{
if(err) throw err;
})
刪除目錄
fs.rmdir('jd',(err)=>{
if(err) throw err;
})
讀取資料夾
fs.readdir(__dirname,(err,files)=>{
if(err) throw err;
// files儲存的是當前資料夾下的所有檔案
console.log(files);
})
stat獲取當前路徑的狀態
fs.stat(__dirname,(err,stats)=>{
if(err) throw err;
// isFile()判斷是否是檔案
console.log(stats.isFile());
// isDirectory()判斷是否是目錄
console.log(stats.isDirectory())
})
8、建立檔案並進行遍歷輸出名稱
建立淘寶資料夾以及裡面其他檔案
const fs=require('fs');
function demo(proname){
return {
proName:proname,
prolist:[
{
name:'css',
type:'dir'
},
{
name:'images',
type:'dir'
},
{
name:'js',
type:'dir'
},
{
name:'index.html',
type:'file'
}
}
}
function createDemo(proname){
var str=`<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
</body>
</html>`;
var pro=demo(proname);
//建立主目錄
fs.mkdir(__dirname+'/'+proname,(err)=>{
if(err) throw err;
//對其裡面檔案進行遍歷
pro.prolist.forEach((item,index)=>{
if(item.type=='dir'){
//完整路徑:資料夾所在目錄/主目錄/資料夾名
fs.mkdir(__dirname+'/'+proname+'/'+item.name,(err)=>{
})
}else{
fs.writeFile(__dirname+'/'+proname+'/'+item.name,str,(err)=>{
})
}
})
})
}
createDemo('taobao')
相關文章
- 前端知識點小結--node、express、mongodb前端ExpressMongoDB
- 總結的小知識點(一)
- makefile 知識點小結
- 【JAVA】- 知識點小結Java
- promise知識點小結Promise
- Node.js 知識點一Node.js
- 雜湊表知識點小結
- 2021/06/02知識點小結
- 後端知識點總結——NODE.JS基礎後端Node.js
- 後端知識點總結——NODE.JS(高階)後端Node.js
- MySQL基礎知識小結(一)MySql
- 前端小知識點前端
- java小知識點Java
- 小知識點1
- js小知識點JS
- mongo 小知識點Go
- Flex知識小結Flex
- 浮點數小知識點
- c語言常用小知識點總結1C語言
- 知識點總結
- HTML5知識點總結(一)HTML
- Vue一些知識點總結Vue
- ElasticSearch知識點小記Elasticsearch
- VEEAM的小知識點
- Vue重要知識小結Vue
- 簡單小結密碼學入門知識點密碼學
- Kafka知識點總結Kafka
- HBase知識點總結
- MongoDB知識點總結MongoDB
- HDFS知識點總結
- jQuery 知識點總結jQuery
- Tomcat 知識點總結Tomcat
- MySQL知識點總結MySql
- Java 知識點總結Java
- django知識點總結Django
- iOS 知識點總結iOS
- Python小知識點隨筆Python
- 前端小知識10點(2019.5.2)前端