- 模块 oper.js
- 多个逻辑 - 单独导出
-
exports.add = () => {
console.log('hi, add');
}
exports.dec = () => {
console.log('hi, dec');
}
等同于
module.exports = {
add: () => {
console.log('hi, add');
},
dec: () => {
console.log('hi, dec');
}
};
引入并使用
const { add, dec } = require('./oper')
console.log(add(), dec());
- 多个逻辑 - 集中导出
-
const add = () => {
console.log('hi, add');
}
const dec = () => {
console.log('hi, dec');
}
// 暴露2个 - 对象方式
module.exports = {
add,
dec
};
引入并使用
const oper = require('./module/oper')
oper.add()
oper.dec()
多个逻辑通常解构引入并使用 - 更加灵活,需要哪个引入哪个
const { add,dec } = require('./module/oper')
add()
dec()
- 单个逻辑
-
模块 admin.js
const admin = {
name: 'glpla',
url: 'https://glpla.github.io',
email: '1942194789@qq.com',
date: '2024-02-28',
version: '1.0.0',
desc: 'for drill'
}
// 暴露1个
module.exports = admin
引入并使用
const admin = require('./module/admin')
console.log('admin:\t', admin);
-
require 引入
exports 导出
module 集中导出
exports==module.exports 为 true,说明是一个方法
定制多个逻辑,解构化引入
引入时,可以省略后缀名.js
引入时,不带路径加载的是系统模块;带了路径则根据路径加载用户自定义模块
- 一般导出
- 以 oper.js 为例
- 一个文件可以有一个或多个逻辑
-
1. 导出
1.1 单独导出;在每个变量、函数或类的定义前加上 export 关键字
export const inc = () => {
console.log('hi, inc');
};
export const dec = () => {
console.log('hi, dec');
};
1.2 集中导出;先逐一声明,在末尾统一导出
-
const inc = () => {
console.log('hi, inc');
};
const dec = () => {
console.log('hi, dec');
};
export { inc, dec };
2. 引用
import { inc, dec } from '@/assets/utils/test';
按需引用
import { inc } from '@/assets/utils/test';
- 默认导出
-
以 inc.js 为例
一个文件只能有一个逻辑
1. 导出 - 不需要指定类型和名字
export default () => {
console.log("hi, inc");
};
2. 引入 - 必须指定模块名
import inc from '@/assets/utils/inc';
甚至可以修改模块名 - 不建议
import add from '@/assets/utils/inc';