fuse.js как зависимость в приложении aurelia
Я безуспешно пытался добавить fuse.js
как зависимость от моего приложения на основе aurelia.
Приложение было инициализировано с au
инструмент, и использует TypeScript в качестве основного языка.
В aurelia_project/aurelia.json
Я попытался добавить зависимость в следующих форматах, в build.bundles[vendor-bundle].dependencies
:
"fuse.js"
{
"name": "fuse.js",
"path": "../node_modules/fuse.js/dist/fuse"
}
{
"name": "fuse.js",
"path": "../node_modules/fuse.js/dist/",
"main": "fuse"
}
Ни один не дал мне библиотеку, доступную во время выполнения (всегда undefined
когда импортируется import * as Fuse from 'fuse.js';
и два первых дали мне ошибки при сборке.
Как я могу добавить fuse.js
как зависимость от приложения aurelia?
2 ответа
Я использую fuse.js в своем приложении как конвертер значений, моя структура - webpack и dotnet core,
- npm установить fuse.js --save
- добавить fuse.js в мою часть поставщика файла webpack.config.vendor
- npm install @types/fuse
Я создал конвертер значений, например:
import { FuseOptions } from 'fuse.js'; import * as Fuse from 'fuse.js'; export class FuseValueConverter { toView(value: Array<any>, options: FuseOptions, criteria: string) { console.log(value); if (!options || !criteria) return value || []; const fuse = new Fuse(value, options); return fuse.search(criteria); } }
а затем я применил это в моих моделях представлений, как и любой другой преобразователь значений в Аурелии
Не правда ли, что aurelia не использует расширение (.js в вашем случае) при импорте? Ваш файл JSON также неправильно отформатирован.