首页 > module.exports和exports.module的区别

module.exports和exports.module的区别

es6-module.js

class People{
  constructor(name){
    this.name = name;
  }
  sayhi(){
    console.log(`hi ${this.name} !`);
  }
}

exports.module = People;
// module.exports = People;

entry.js

let People = require('./js/es6-module');

let p = new People("Yika");
console.log(p.name);
p.sayHi();

报错:Uncaught TypeError: People is not a function
目录结构

=========webpack之后转为ES5之后是下面这样的==================

function(module, exports) {

    "use strict";

    var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();

    function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

    var People = (function () {
      function People(name) {
        _classCallCheck(this, People);

        this.name = name;
      }

      _createClass(People, [{
        key: "sayhi",
        value: function sayhi() {
          console.log("hi " + this.name + " !");
        }
      }]);

      return People;
    })();

    //exports.module = People;

    module.exports = People;

/***/ }

https://github.com/zwhu/blog/issues/17

刚好上几天写了这个博客,对你有帮助的话,给我点个star吧。

【热门文章】
【热门文章】