Ember.js 将全局变量附加到消费应用程序.jshint文件

Ember.js 将全局变量附加到消费应用程序.jshint文件,ember.js,ember-cli,Ember.js,Ember Cli,我正在编写一个插件,它包装了一个使用globals的第三方库,并将它们导出为es6模块export default someGlobal。问题是,在单元测试期间,消费应用程序仍然会看到全局消息并抱怨 有没有一种方法可以通过一个简介将这些全局变量插入到消费应用程序.jshint文件中 有没有更好的方法可以在不修改第三方代码的情况下将全局文件导出到es6模块 我找到了一种使用AMD模块实现这一点的方法 // vendor/shims.js window.DefaultGlobal = 'Hello

我正在编写一个插件,它包装了一个使用globals的第三方库,并将它们导出为es6模块
export default someGlobal
。问题是,在单元测试期间,消费应用程序仍然会看到全局消息并抱怨

  • 有没有一种方法可以通过一个简介将这些全局变量插入到消费应用程序.jshint文件中

  • 有没有更好的方法可以在不修改第三方代码的情况下将全局文件导出到es6模块


  • 我找到了一种使用AMD模块实现这一点的方法

    // vendor/shims.js
    
    window.DefaultGlobal = 'Hello';
    window.AnotherGlobal = 'World'; 
    
    //Shim as AMD module
    define('YOUR_NAMESPACE', [], function() {
      'use strict';
    
      return {
        default: DefaultGlobal, //same as 'export default var DefaultGlobal = 'Hello';'
        AnotherGlobal: AnotherGlobal //same as 'export var AnotherGlobal = 'World'; '
      };
    });
    
    然后你可以通过

    import {DefaultGlobal, AnotherGlobal} from 'YOUR_NAMESPACE';
    

    我找到了一种使用AMD模块实现这一点的方法

    // vendor/shims.js
    
    window.DefaultGlobal = 'Hello';
    window.AnotherGlobal = 'World'; 
    
    //Shim as AMD module
    define('YOUR_NAMESPACE', [], function() {
      'use strict';
    
      return {
        default: DefaultGlobal, //same as 'export default var DefaultGlobal = 'Hello';'
        AnotherGlobal: AnotherGlobal //same as 'export var AnotherGlobal = 'World'; '
      };
    });
    
    然后你可以通过

    import {DefaultGlobal, AnotherGlobal} from 'YOUR_NAMESPACE';