咱们使用的是 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' } }
复制代码