#javascript #typescript #vue.js #enums #webpack-encore
Вопрос:
Я пытаюсь использовать некоторые перечисления из библиотеки, которую я создал в другом проекте. Библиотека выполнена с использованием Vue и машинописного текста, в комплекте с накопительным пакетом, проект выполнен Synfony, а передняя часть также с использованием Vue и машинописного текста, построенного с помощью Webpack Encore.
Библиотека зависит от моего проекта, поэтому я пытаюсь импортировать перечисление следующим образом: import { MyEnum } from 'myLibrary/src/enum/MyEnum';
И перечисление выглядит так
// node_modules/myLibrary/src/enum/MyEnum.ts export enum MyEnum { One = 'one', Two = 'two', Three = 'three' }
Но когда я строю, я получил эту ошибку (с помощью веб-пакета Symfony на бис):
ERROR Failed to compile with 1 errors 4:37:05 PM Error loading ./node_modules/myLibrary/src/enum/MyEnum.ts FIX To process TypeScript files: 1. Add Encore.enableTypeScriptLoader() to your webpack.config.js file.
Я, очевидно, уже добавил enableTypeScriptLoader()
в webpack.config.js, и я не знаю, как это решить.
Если я создам один и тот же файл перечисления в свой проект и импортирую его, он будет работать, но я должен хранить его в своей библиотеке, и я не хочу дублировать код. И я импортирую интерфейсы из той же библиотеки таким же образом, и это прекрасно работает.
Я пробовал вещи, которые не работают :
export const enum
вроде как работает, но я получаюTS2475: 'const' enums can only be used in property or index access expressions or the right hand side of an import declaration or export assignment or type query.
ошибку, и мне приходится повторно объявлять перечисление в другом объекте, чтобы использовать его в своем шаблоне :/export declare enum
но все равно получаюAdd Encore.enableTypeScriptLoader()
ошибку
Есть идеи, как это решить?
Редактировать
У меня есть еще одно сообщение об ошибке в моем браузере, которое добавляет некоторую информацию:
Module parse failed: Unexpected token (4:7) You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders gt; export enum MyEnum { | One = 'one', | Two = 'two'
Я также тестирую импорт того же перечисления из той же библиотеки в новом проекте, созданном с помощью Vue Cli, и у меня нет ошибок. Я почти уверен, что проблема возникла из-за выхода Webpack на бис.