浏览器控制台报JS脚本执行错误:Module is not defined

转载于:浏览器控制台报JS脚本执行错误:Module is not defined - 踏得网

现在JS分成了两个分支,一部分在服务器端发展如NodeJS,一部分是传统的浏览器运行环境。

有些插件在编写JS代码时,是针对Node编写的,所以直接在浏览器中使用会报错,通常是:

  1. require is not defined

  2. module is not defined

解决第一个错误的方法是,去除require,直接在页面中使用script标签加载,或者使用require.js。

解决第二个错误的方法是把原来的代码改写为兼顾浏览器和服务器类型的代码,示范如下:

if (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {
    module.exports = PolyBezier;
  }
  else {
    if (typeof define === 'function' && define.amd) {
      define([], function() {
        return PolyBezier;
      });
    }
    else {
      window.PolyBezier = PolyBezier;
    }
  }