2016-04-18 6 views
17

У меня есть ES6 приложения (с Babel 6.5 и Webpack) и успешно импортирует свои модули, как это:Как импортировать «старые» ES5 коды в ES6

import $ from 'jquery'; 

Я хотел установить https://github.com/robflaherty/riveted/blob/master/riveted.js (плагин для Google Analytics), но, как видите, код не имеет значения module.exports = ..., он определяет только глобальную переменную riveted, но имеет, по-видимому, действительный package.json, указывающий на riveted.js.

Так что делать что-то вроде

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

выдает ошибку:

_riveted2.default.init is not a function

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

выдает ошибку:

riveted is not defined

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

выдает ошибку:

riveted.init is not a function

Как я могу получить доступ к функции клепанную-х Init()?

+2

Попробуйте сделать 'импорт * в качестве клепанных от«riveted'' – thomaux

+0

Вы пытаетесь запустить это в браузере? – slebetman

+0

Да @slebetman. @Anzeo спасибо, но это дает мне еще немного другую ошибку: «riveted.init не является функцией». Кстати, «заклепка» правильно «установлена» в «node_modules/riveted». – wnstnsmth

ответ

16

Вы можете использовать экспорт WebPack погрузчик:

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

См the shiming modules overview подробность

+0

Работает как очарование, спасибо. – wnstnsmth

+0

Это была ОГРОМНАЯ помощь мне в проекте. Спасибо большое. – gonzofish

 Смежные вопросы

  • Нет связанных вопросов^_^