模組 module
- 模組化:將很大的東西,切成一小小塊;功能切開來
- 優點:把東西集結在 module,一次只要改一個地方
var a = require('<引入的 module 名稱>')
a 為 module.exports = ,a 的名稱可以自由更改
新增 module
touch MyModule.js
在 MyModule 這個檔案裡加入
module.exports = <輸出的東西>
- 可以輸出功能、物件⋯⋯等
var obj = { height: 180 weight: 50 add: function(n){ return n + 3} module.exports = obj/>
exports.<想要輸出的東西名稱> = <想要輸出的內容>
- 輸出物件
在別的檔案要使用時,用
var a = require('./myModule.js') console.log(myModule.height, myModule.add(2))
- 前面加
./
表示檔案路徑
- 前面加
npm
Node Package Manager
- 用來管理套件用,可以透過 npm,上傳自己寫的套件,有點像套件倉庫的概念
- package 是套件的意思:寫好功能時可以包裝成 package
- 可以直接用別人寫的 package、library、module
安裝 npm
- 在下載 node.js 時也同時有下載 npm
- 使用
npm init
啟動 - 啟動後資料夾裡會出現 package.json
package.json
- 用來描述專案的檔案,所以別人只要有這個檔案,就知道你有用什麼 library,並且可以使用
node install
來根據你的 json 下載這些 "dependencies"- "devDependencies" 開發時才會用到的 library
- 長得跟物件很像,唯 key 要用雙引號包起來
- dependencies:依賴什麼,有裝什麼 library
"main"
:最主要的檔案"scripts": { "<start>": "node test.js", }
代表輸入 時,node 會先執行 test.js 這個檔案(可以為其他東西),指令為npm run start
json 全名為 JavaScipt object notation 「JavaScript 物件表示法」
安裝 module
npm install <module 名稱>
- 下載結束會出現 node_modules 的資料夾,npm 會把所有下載的 module 都儲存在這個資料夾裡