Я недавно разделил свои сборки веб-пакетов на отдельные конфигурационные файлы и объединил их с одним общим.
Единственное отличие между конфигурациями, кроме mode
, - это глобально определенный BASE_URL
* 1006.*
До этого я использовал один webpack.config и опцию --mode production
из CLI.
В моем коде я вижу правильный BASE_URL
в обоих комплектах, ноработает только development
один;другой выдает ошибку: Error: Attempted to register an Element when one with the same name already exists. Name: n.
, что очень бесполезно, так как у меня нет элемента с именем n
.
РЕДАКТИРОВАТЬ: ошибка появляется при автоматической регистрации глобальных ресурсовв частности, для этого моего DateFormat
конвертера значений:
date-format.ts
export class DateFormatValueConverter {
toView(value: string) {
return new Date(value).toLocaleString();
}
}
index.ts
import { FrameworkConfiguration } from 'aurelia-framework';
import { DateInputFormatValueConverter } from './value-converters/date-input-format';
import { DateFormatValueConverter } from './value-converters/date-format';
export function configure(config: FrameworkConfiguration) {
config.globalResources(
[
DateInputFormatValueConverter,
DateFormatValueConverter
]
)
}
EDIT2: похоже,все, что выделено глобально, за исключением первой записи.
EDIT3: Кажется, что если я объявляю глобальные ресурсы через строки (и PLATFORM.moduleName
), работает.Это может быть то, что команда Aurelia должна изучить.
export function configure(config: FrameworkConfiguration) {
config.globalResources(
[
PLATFORM.moduleName('./value-converters/date-input-format'),
PLATFORM.moduleName('./value-converters/date-format'),
PLATFORM.moduleName('./value-converters/delay-format'),
...
]
)
}