如何导入导出的IIFE,ES6语法?

时间:2017-09-07 07:52:21

标签: javascript ecmascript-6 es6-modules

我有一个像这样的服务文件

// service.es6.js
   export default Service = (function($) {
      return { e: 5, f:3, setJQuery: val => $ = val }
   })(jQuery);

在另一个文件中,例如controller.es6.js

// controller.es6.js
const { JSDOM } = require('jsdom');
const jsdom = new JSDOM('<!doctype html><html><body></body></html>');
const { window } = jsdom;
import * as jquery from "jquery";

const $ = require("jquery")(window);
const jQuery = $;

import * as MyService from './service.es6';

这给了我ReferenceError: jQuery is not defined

如何正确导入?

我是否必须将服务改写为课程?

1 个答案:

答案 0 :(得分:2)

如果您不想在服务中导入jQuery(任何特殊原因?),那么您可以将IIFE更改为像以下工厂:

New Page Before