page.js 调用文件
let exportTestUtils = require('@utils/exportTestUtils');
import { firstMethods } from '@utils/exportTestUtils';
----------------------------------------------------------------------------------
console.log('---------使用require方式---------');
let valueRequire = exportTestUtils.firstMethods();
console.log('valueRequire:' + valueRequire);
console.log('---------使用import方式---------');
let valueImport = firstMethods();
console.log('valueImport:' + valueImport);
exportTestUtils.js 工具类文件
写法0
// ----------- 写法0 start -----------
export function firstMethods() {
console.log('firstMethods-写法0');
return secondMethods();
}
export function secondMethods() {
console.log('secondMethods-写法0');
return '我是写法0';
}
// ----------- 写法0 end -----------
结果
image.png写法1
// ----------- 写法1 start -----------
export const firstMethods = () => {
console.log('firstMethods-写法1');
return secondMethods();
};
export const secondMethods = () => {
console.log('secondMethods-写法1');
return '我是写法1';
};
// ----------- 写法1 end -----------
结果
image.png写法2
// ----------- 写法2 start -----------
const firstMethods = () => {
console.log('firstMethods-写法2');
return secondMethods();
};
const secondMethods = () => {
console.log('secondMethods-写法2');
return '我是写法2';
};
module.exports = {
firstMethods: firstMethods,
secondMethods: secondMethods,
};
// ----------- 写法2 end -----------
结果
image.png写法3
// ----------- 写法3 start -----------
function firstMethods() {
console.log('firstMethods-写法3');
return secondMethods();
}
function secondMethods() {
console.log('secondMethods-写法3');
return '我是写法3';
}
module.exports = {
firstMethods: firstMethods,
secondMethods: secondMethods,
};
// ----------- 写法3 end -----------
结果
image.png写法4
// ----------- 写法4 start -----------
module.exports = {
firstMethods() {
console.log('firstMethods-写法4');
return this.secondMethods(); // 这里必须this
},
secondMethods() {
console.log('secondMethods-写法4');
return '我是写法4';
}
};
// ----------- 写法4 end -----------
结果
image.png写法5
// ----------- 写法5 start -----------
exports.firstMethods = function () {
console.log('firstMethods-写法5');
return exports.secondMethods(); // 这里必须exports.
};
exports.secondMethods = function () {
console.log('secondMethods-写法5');
return '我是写法5';
};
// ----------- 写法5 end -----------
结果
image.png结论:
1、方法0、1 、2 、3 都是等价的,firstMethods、secondMethods可以认为是全局方法,所以可以直接互相调用
2、方法0、3是es5写法, 方法1、2是es5写法
3、方法4 require时firstMethods方法可以通过this.secondMethods调用, 但import却无法通过firstMethods调用this.secondMethods,只能调用没有依赖的方法
4、写法5用import 方式firstMethods调用secondMethods,可以通过【exports.】调用secondMethods
最后
附上整体测试代码
// // ----------- 写法0 start -----------
// export function firstMethods() {
// console.log('firstMethods-写法0');
// return secondMethods();
// }
//
// export function secondMethods() {
// console.log('secondMethods-写法0');
// return '我是写法0';
// }
// // ----------- 写法0 end -----------
// // ----------- 写法1 start -----------
// export const firstMethods = () => {
// console.log('firstMethods-写法1');
// return secondMethods();
// };
//
// export const secondMethods = () => {
// console.log('secondMethods-写法1');
// return '我是写法1';
// };
// // ----------- 写法1 end -----------
// // ----------- 写法2 start -----------
// const firstMethods = () => {
// console.log('firstMethods-写法2');
// return secondMethods();
// };
//
// const secondMethods = () => {
// console.log('secondMethods-写法2');
// return '我是写法2';
// };
//
// module.exports = {
// firstMethods: firstMethods,
// secondMethods: secondMethods,
// };
// // ----------- 写法2 end -----------
// // ----------- 写法3 start -----------
// function firstMethods() {
// console.log('firstMethods-写法3');
// return secondMethods();
// }
//
// function secondMethods() {
// console.log('secondMethods-写法3');
// return '我是写法3';
// }
//
// module.exports = {
// firstMethods: firstMethods,
// secondMethods: secondMethods,
// };
// // ----------- 写法3 end -----------
// // ----------- 写法4 start -----------
// module.exports = {
// firstMethods() {
// console.log('firstMethods-写法4');
// return this.secondMethods(); // 这里必须this
// },
//
// secondMethods() {
// console.log('secondMethods-写法4');
// return '我是写法4';
// }
// };
// // ----------- 写法4 end -----------
// // ----------- 写法5 start -----------
// exports.firstMethods = function () {
// console.log('firstMethods-写法5');
// return exports.secondMethods(); // 这里必须exports.
// };
//
// exports.secondMethods = function () {
// console.log('secondMethods-写法5');
// return '我是写法5';
// };
// // ----------- 写法5 end -----------
网友评论