計畫寫乙個node全棧的學習過程,不定期更新,因為不想給自己的定位只是前端開發,想多了解後端的學習。筆記最初是記在有道雲筆記的,現在分享出來,如有問題可以請各路大神指點。
首先需要乙個伺服器。
使用遠端登入工具(如x-shell或secure)登入終端:
ssh username@ip
輸入對應的密碼
安裝node
參考鏈結
因為我們使用的是ubuntu 16.04,採用先安裝,後公升級的方式。
首先安裝node和npm:
apt install nodejs-legacy
apt all npm
這樣得到的node 和 npm 的版本比較低,
node -v
node4.2.6
npm -v
v3.2
然後安裝node版本管理工具n,然後再公升級(這裡使用n,而非nvm,二者皆為node版本管理工具,可根據情況自行選擇,但最好不同時安裝)。npm安裝的模組路徑一般為/usr/local/lib/node_modules(可以使用npm root -g命令檢視你的系統中全域性的路徑)
npm install -g n
n lates
安裝完了,來看看node的版本
v4.2.6
還是之前的版本,安裝了node的版本管理工具n指定node版本無效。去網上找了一些資料,大概是因為node的安裝目錄和n預設的目錄不一致,通過n_prefix變數來修改 n 的預設node安裝路徑。
具體可參考鏈結.
首先,檢視node當前安裝路徑:
which node
/usr/local/bin/node
接下來,編輯環境變數。(我並未使用上述參考鏈結中的方式編輯,因為目前我認為我需要全域性所有的使用者都修改到這個變數,設定環境變數以及方法的區別具體可參考鏈結,參考鏈結2)
sudo vi /etc/profile #sudo是必須的
然後在檔案尾追加上面的node安裝路徑:
export n_prefex=/usr/local/bin/node
export path=$n_prefix/bin:$path
環境變數更改後,在使用者下次登陸時生效,如果想立刻生效,則可執行下面的語句:
source /etc/profile
確認一下環境變數是否生效:
echo $n_prefix
/usr/local/bin/node
然後使用最新版本的node:
sudo n lts #sudo必須
最後,檢視一下node和npm的版本
node -v
v8.9.1
npm -v
5.5.1
至此,成功通過設定n_path使用n管理了node版本
專案設定
node後端**位置:
/home/node/node-serve
node前端頁面**:
/home/node/node-web
在此附上一些linux設定快捷鍵的方法。
vi /etc/vim/vimrc
然後在檔案中加入
set tabstop=4
set nu
set autoindent
常用vi命令
node後端
需要express框架,假如全域性安裝(-g)無效後需要在使用目錄再次安裝,
檢視express版本
express --version
發現並未安裝node-express,根據提示安裝
apt install node-express-generator
再次檢視express版本,無錯即安裝成功
配置node環境變數,開啟環境變數配置檔案
vi /etc/profile
接下來
export node_home=/usr/local/bin/node
export path=$node_home/bin:$path
為使環境變數生效
source etc/profile
接下來是乙個server.js
var express = require('express'); // express 框架
var path = require('path');
//__dirname: 當前目錄
// path.resolve(__dirname, '..') 相當於 cd ../,即開啟上層目錄
// 處理請求/index.htm
var new_path = path.resolve(__dirname,'..');
var pagesrc = new_path + '/node-web' + '/index.htm';//取出nodeweb下的index.htm頁面
res.sendfile(pagesrc);
}) var host = server.address().address
var port = server.address().port
console.log('訪問位址為 http: //%s:%s', host, port)
})
執行nodejs伺服器:
node server.js
從零開始 Python學習筆記(棧,佇列)
棧 堆疊 是一種可存入資料 訪問 刪除等元素的容器 特點 後進先出 棧實現 線性表 鍊錶 例 class nullstackerror baseexception 自定義空棧異常 definit self super init null stack error class mystack defin...
3 15學習筆記 從零開始
開啟python的方法 windows 環境 cmd 命令列輸入 python 另一種使用方法 先編寫程式在通過字尾為.py來儲存,然後再用cmd開啟 好處 修改時比較方便,可以直接拿滑鼠去消除或者新增 print 輸出括號中得字元 命名變數 直接命名用等號連線。不需要提前命名 print type...
從零開始的Unity學習筆記
unity是用於遊戲開發和三維互動內容的開發工具,是乙個遊戲引擎。為了讓移動端的遊戲開發得到統一。unity可以開發2d和3d遊戲。遊戲的核心 渲染引擎 物理引擎 碰撞檢測系統 音效 指令碼引擎 動畫系統 人工智慧 網路引擎 場景管理 本人學習unity所使用的unity版本號為2019.3.13f...