krpano.js导出为模块方便vue等框架使用的问题

作为一个全栈(干),前端commonjs amd 那些东西没有研究过,一直用es6内置的export和import(不香吗?)。最近写一个全景项目,有一个krpano.js文件官网案例是标签引入,可我的项目是基于vue,无法按照官网的案例使用。我尝试使用export default导出里面的关键函数embedpano,但是会出现一些怪异的报错。

最后bing到了一个实现,做了点改动就有了下面这段代码(加在krpano.js的最后):

(function (root, factory) {
    if (typeof module === 'object' && module.exports) {
      // Node & commonJs
      module.exports = factory();
    } else if (typeof define === 'function' && define.amd) {
      // AMD. Register as an anonymous module.
      define([], factory);
    } else {
      // Browser globals (root is window) - fallback for direct script includes
      root.embedpano = factory();
    }
  }(this, function() {  
    // current code
  
    return embedpano
  }));

然后就可以在const embedpano = require(‘krpano’) 的地方使用embedpano函数了,这个实现貌似可以用在别的地方,所以这里做个记录。

附:krpanojs https://krpano.com/examples/119/krpano.js

猜你喜欢

转载自blog.csdn.net/qq_36110571/article/details/108879210