模块化

image.png
image.png image.png
示例代码:

  1. let name = 'Daivd';
  2. let getName = function(name){
  3. console.log(name);
  4. };
  5. // 1. 通过Module.export导出
  6. module.exports = {
  7. name: name,
  8. getName: getName
  9. };
  10. // 2. 通过export直接导出
  11. //export obj = {...};
  1. let p = require('./demo');
  2. console.log(p.name);
  3. p.getName('Jim');
  4. p.name = 'Kitty';
  5. console.log(module);
  6. // Module {
  7. // id: '.',
  8. // path: 'C:\\Users\\dzwang\\Desktop\\My JS\\网易云\\课程\\node\\nodeJS',
  9. // exports: {},
  10. // parent: null,
  11. // filename: 'C:\\Users\\dzwang\\Desktop\\My JS\\网易云\\课程\\node\\nodeJS\\01.js',
  12. // loaded: false,
  13. // children: [
  14. // Module {
  15. // id: 'C:\\Users\\dzwang\\Desktop\\My JS\\网易云\\课程\\node\\nodeJS\\demo.js',
  16. // path: 'C:\\Users\\dzwang\\Desktop\\My JS\\网易云\\课程\\node\\nodeJS',
  17. // exports: [Object],
  18. // parent: [Circular],
  19. // filename: 'C:\\Users\\dzwang\\Desktop\\My JS\\网易云\\课程\\node\\nodeJS\\demo.js',
  20. // loaded: true,
  21. // children: [],
  22. // paths: [Array]
  23. // }
  24. // ],
  25. // paths: [
  26. // 'C:\\Users\\dzwang\\Desktop\\My JS\\网易云\\课程\\node\\nodeJS\\node_modules',
  27. // 'C:\\Users\\dzwang\\Desktop\\My JS\\网易云\\课程\\node\\node_modules',
  28. // 'C:\\Users\\dzwang\\Desktop\\My JS\\网易云\\课程\\node_modules',
  29. // 'C:\\Users\\dzwang\\Desktop\\My JS\\网易云\\node_modules',
  30. // 'C:\\Users\\dzwang\\Desktop\\My JS\\node_modules',
  31. // 'C:\\Users\\dzwang\\Desktop\\node_modules',
  32. // 'C:\\Users\\dzwang\\node_modules',
  33. // 'C:\\Users\\node_modules',
  34. // 'C:\\node_modules'
  35. // ]
  36. // }

image.png

  1. module.exports = {
  2. name: 'Daivd',
  3. getName: function(name){
  4. console.log(name);
  5. }
  6. };
  7. console.log(module);

image.png
image.png
image.png
exports和module.exports区别示例:

  1. var module = {
  2. exports: {}
  3. };
  4. var exports = module.exports;
  5. function change(exports) {
  6. exports.name = 'David';
  7. exports = {
  8. age: 22
  9. };
  10. console.log(exports);
  11. }
  12. change(exports);
  13. console.log(exports);

require方法详解

image.png
image.png

image.png
image.pngimage.png
路径解析:
image.png
image.png