@sanex3339

Как импортировать функцию в виде переменной во все модули?

При сборке Typescript'овских модулей Webpack'ом, он пихает в каждый модуль Typescript'овский хелпер __extends.
Получается очень много повторяющихся хелперов в каждом модуле.

Пытаюсь сейчас вынести этот хелпер в виде отдельной ф-ии, отрубил генерацию хелперов через noEmitHelpers.

function __extends(d, b) {
    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
    function __() { this.constructor = d; }
    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
}


Теперь о проблеме: как правильно импортировать этот хелпер во все модули в качестве переменной с помощью webpack'а? Очень хотелось бы, что бы эта переменная не была глобальной. Еще очень бы хотелось не использовать никакие плагины, т.к. gulp-webpack их не поддерживает.
  • Вопрос задан
  • 202 просмотра
Решения вопроса 1
@sanex3339 Автор вопроса
extends.ts:
declare let module: any;

function __extends(d, b) {
    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
    function __() { this.constructor = d; }
    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
}

module.exports = __extends;


В конфиге вебпака:
resolve: {
               modulesDirectories: ['node_modules', '.']
           },.
plugins: [
               new webpack.ProvidePlugin({
                   __extends: 'src/ts/ts-helpers/extends' //src/ts/ts-helpers/extens.ts
               })
           ]
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы