咱們使用的是 CommonJS 模塊化 規範 目錄結構javascript
--demo
--node_module //能夠手動建立文件夾
--bar.js
--demo.js
複製代碼
bar.jsjava
var str = {
str: '我是在 node_module 下bar.js'
}
exports.str = str // 必須用模塊化標準 導出來
複製代碼
demo.jsnode
var str = require('bar') //後綴名能夠省略
console.log(str) // { str: { str: '我是在 node_module 下bar.js' } }
複製代碼
數據的結果是 { str: { str: '我是在 node_module 下bar.js' } }npm
這樣咱們 用的時候就須要 str.str 這樣就很不友好了。json
bar.js模塊化
var str = {
str: '我是在 node_module 下bar.js'
}
module.exports = str // 必須用模塊化標準 導出來
複製代碼
你們能夠了解一下 模塊化 導出 引入的一些細節ui
--demo
--node_module //能夠手動建立文件夾
--bar
--bar.js
--demo.js
複製代碼
demo.js 引入的時候也要相應作一下處理spa
var str = require('bar/bar') //後綴名能夠省略
console.log(str) // { str: { str: '我是在 node_module 下bar.js' } }
複製代碼
這好像也不是咱們要的效果,重要的步驟要來了code
咱們要在 node_module 下邊的 bar 文件夾下邊 建立一個 package.json 文件ip
執行 npm init -y 表示不須要提示直接建立 package.json 文件
{
"name": "bar",
"version": "1.0.0",
"description": "",
"main": "bar.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}
複製代碼
注意 咱們 入口 main 已經指定了文件夾了
因此咱們在用的時候就能實現
var str = require('bar') //後綴名能夠省略
console.log(str) // { str: { str: '我是在 node_module 下bar.js' } }
複製代碼