В частности, можно ли скомпилировать источник машинописного текста компонента ag-grid-vue и включить его в обычный HTML-файл?

1
Octa9on 28 Май 2019 в 07:02

2 ответа

Лучший ответ

Я нашел способ сделать это без изменения источника. В верхней части ag-grid-vue.umd.js вы можете видеть, что модуль делает это:

root["ag-grid-vue"] = factory(root["Vue"], root["agGrid"]);

Здесь «root» - это окно, а результат фабричного вызова - то, что вам нужно. Но из-за тире, вы не можете получить к нему доступ напрямую. Но вы можете использовать словарный синтаксис (или как он там называется):

let agVueObj = window["ag-grid-vue"];
//The component is a field on this object:
let AgGridVue = agVueObj.AgGridVue;
//Then register it as a component in your Vue instance:
//components: { AgGridVue }

И вы должны быть в состоянии использовать теги <ag-grid-vue>.

2
Mr Lister 29 Апр 2020 в 19:02

Я понял:

Загрузите исходный код ag-grid, перейдите в каталог packages / ag-grid-vue и выполните npm install и npm run build. Это поместит скомпилированные модули javascript в каталог dist, который можно использовать без системы сборки.

Мне пришлось немного изменить встроенный javascript, чтобы получить объект AgGridVue в глобальном пространстве имен, поскольку я не использую загрузчик модулей.

РЕДАКТИРОВАТЬ: Чтобы получить AgGridVue в глобальном пространстве имен, добавьте window.AgGridVue = AgGridVue; в конец функции, которая возвращает AgGridVue в ag-grid-vue.umd.js

2
GiuppeP 21 Авг 2019 в 18:51