1、nodejs介紹html
nodejs主要體如今事件機制和異步IO,nodejs是事件驅動的;node
nodejs做用:js的運行環境、操做文件、連接數據庫;mysql
nodejs在執行js是單線程的,但不是nodejs是單線程的;web
能夠寫一些小工具,聊天室,爬蟲sql
檢測node是否安裝成功: 命令行-node -v 出現node的版本號就是安裝成功了數據庫
編輯器:仍是推薦vsCodeexpress
2、模塊npm
1.模塊化json
module.export 導出api
reuqire 導入
module.js var a=require('./app').a; console.log(require('./app')) var c=1+a; console.log(c) app.js var a=1; module.exports={ a:a };
2.事件
events
引入events 建立事件 綁定事件 觸發事件
const EventEmitter = require('events');//引入事件 class MyEmitter extends EventEmitter {}//繼承事件 const myEmitter = new MyEmitter();//建立類 myEmitter.on('event', () => {//綁定事件 console.log('觸發事件'); }); myEmitter.emit('event');//出發事件
3.讀寫文件
引入fs
讀寫文件這裏面函數會區分同步和異步
同步是一步一步執行的,按照代碼的順序來的,後面等
異步是會在執行其餘的代碼,等到代碼執行完成以後,在執行回調函數的裏面的代碼
var fs=require('fs'); fs.writeFile('demo.txt','數據','utf8',function(){ }) fs.mkdir(__dirname+'/demo',function(){ var stream=fs.ReadStream('demo.txt',{highWaterMark:64}) console.log(stream) fs.writeFile(__dirname+'/demo/'+'demo1.txt',stream,function(){ }) })
4.流
stream
標準輸入 標準輸出
對http請求的處理也是流,響應流 請求流
全部流均可以作成事件處理
應用:處理數據、提升性能(流能夠將大文件數據放到一段一段的buffer中)
管道
pipe
5.web服務器
http
輸出txt文本;text/txt
輸出json數據;application/json
輸出html文件;text/plain; 能夠利用管道
6.util 實用工具
nodejs內置的一些api工具
7.http創建服務器
能夠經過http模塊建一個一個服務器
8.path路徑操做
對當前項目一些路徑進行操做
9.url
處理和解析獲取到的URL
3、資料
官網 :https://nodejs.org/en/
中文官網:http://nodejs.cn/
4、注意
1.node熱更新
首先須要使用 npm 安裝 supervisor(這裏須要注意一點,supervisor必須安裝到全局)
$ npm install -g supervisor
Linux 或 Mac用戶須要使用管理員權限
sudo npm install -g supervisor
安裝完成後就能夠用supervisor啓動服務了(假設你的Node.js程序主入口是app.js)
$ supervisor app.js
命令行窗口會顯示啓動成功信息,並開始代碼監聽,當代碼被修改以後,運行的腳本會被終止,自動從新啓動。
PS: express 4.x把用於項目啓動的代碼移到了./bin/www的文件,如需使用supervisor 啓動express項目請使用下面的命令
supervisor bin/www
2.mysql
(1)、 'Incorrect string value: \'\\xE5\\xBC\\x80\\xE5\\xA7\\x8B...\' for column \'topoData\' at row 1',
由於字段的值中包含中文,可是你設置的字段裏面不是utf-8的