Экологический специфический импорт - PullRequest
0 голосов
/ 07 ноября 2018

Эй, ребята, у моей компании есть задача, чтобы мы перестроили все наше приложение и веб-сайт в ответ на 10-летнюю версию mvc ...

Они хотят экспортировать некоторые компоненты с нового сайта на существующий сайт, пока мы перестраиваем. То, что я искал, есть ли плагин или загрузчик веб-страницы, который действовал как метро, ​​чтобы я мог сказать import * from 'package', и если бы я хотел немного настроить его, я мог бы иметь 'package.old.ts' и 'package. ts 'если package.old существует, то он импортирует, что в противном случае он сделает пакет?

1 Ответ

0 голосов
/ 07 ноября 2018

Встроенный веб-пакет resol.extensions

Если под пакетом вы подразумеваете модуль (файл ts / tsx в вашем проекте), вы можете решить эту проблему с помощью опции конфигурации resolve.extensions Webpack .

Webpack всегда оценивает этот массив слева направо, первый найденный выигрывает. Поэтому, если вы определите массив как: ['.old.ts', '.ts', /*others*/], он попытается сопоставить package.old.ts до package.ts

Рабочий пример:

package.old.ts:

export const message = "Hello old";

package.ts:

export const message = "Hello new";

index.ts:

import {message} from './package';
console.log(message);

Это выдаст

Привет, старый.

Если вы удалите или переименуете package.old.ts, он выдаст новый. Если вы хотите изменить приоритет , все, что вам нужно сделать, это переупорядочить массив в вашем webpack.config.js

...