如何在ES6中导入“旧”ES5代码

时间:2016-04-18 07:21:05

标签: javascript ecmascript-6 webpack es6-module-loader

我有ES6个应用程序(Babel 6.5Webpack),它成功导入了我的模块:

import $ from 'jquery';

我想安装https://github.com/robflaherty/riveted/blob/master/riveted.js(谷歌分析的插件),但正如您所看到的,代码没有类似module.exports = ...的内容,它只定义了一个全局变量{{1} },但它有一个明显有效的riveted指向package.json

这样做

riveted.js

抛出错误:

  

_riveted2.default.init不是函数

import riveted from 'riveted'
riveted.init();
import riveted from 'riveted'
riveted.init();

抛出错误:

  

未定义铆接

import 'riveted'
riveted.init();

抛出错误:

  

riveted.init不是函数

如何访问riveted的init()函数?

1 个答案:

答案 0 :(得分:18)

您可以使用webpack exports loader:

var riveted = require("exports?riveted!riveted")

有关详细信息,请参阅the shiming modules overview