导入一个可能不存在的es6模块

Importing an es6 module that may not exist

就说我创建了一个与其他用户共享的插件,我需要导入 ember-data。

import DS from 'ember-data';

鉴于它可能不存在于客户端代码中,我该如何导入它。基本上我需要一个条件来检查 ember-data 是否可用,如果是则导入它并做一些事情,否则不要这样做。

if(ember data exists) {
  //do something
}

我对 es6 的一般用法有同样的问题,但假设您使用的是 ember-cli,您可以查看 require._eak_seen 对象,这样您的代码可能看起来像:

if(require._eak_seen['ember-data']){
  //your code
}