Проблемы с использованием npm с ASP. NET для импорта js модулей - PullRequest
1 голос
/ 22 января 2020

Справочная информация: Я использую OpenLayers 6 для проекта Microsoft ASP. NET в Visual Studio. Я следую примеру экспорта карты OpenLayers 6, чтобы экспортировать мою карту в png, используя библиотеку html -to-image js. В этом примере библиотека устанавливается и управляется менеджером пакетов Node (npm), а доступ к функциям осуществляется с помощью операторов импорта Javascript. Поскольку я не работаю в Node, мне пришлось заставить npm работать в моем проекте ASP. NET, поэтому я установил Mads Kristensen Web Extension Pack, Node и npm. Используя npm, я скачал и установил библиотеку html -to-image, которая создала папку node_modules и поместила библиотеку внутрь. Библиотека содержит несколько машинописных и js файлов (как показано ниже).

enter image description here

Проблема: Я могу ' Кажется, что доступ к функциям библиотеки осуществляется с помощью javascript операторов импорта, как показывают примеры OpenLayers. Их пример показывает, что вы импортируете функцию toPng из модуля следующим образом:

import {toPng} from 'html-to-image';

Когда я пытаюсь импортировать модуль таким образом, я получаю ошибку загрузки ресурса 404. Затем я попытался импортировать, используя относительные пути: import { toPng } from '../../node_modules/html-to-image';, и я получил ошибку загрузки ресурса 403 (запрещено). Я, однако, смог получить доступ к файлу invididual js, в котором находилась функция toPng import { toPng } from '../../lib/utils.js';, но я получил сообщение о том, что запрошенный модуль не обеспечивает экспорт с именем «toPng». Я почти уверен, что файлы js из библиотеки не предназначены для индивидуального доступа таким образом.

Мой главный вопрос: : Как мне импортировать все html -to-image модуль, как показывают примеры Openlayers? В моем проекте. NET не похоже, что вы можете использовать операторы импорта, ссылаясь на папку модуля так же, как в Node. Во всех примерах импорта модуля ES6 js я могу найти ссылки на импорт из одного файла. js, поэтому мне интересно, как вы получаете доступ к модулю с несколькими файлами js.

Возможно ли эта библиотека был специально написан для доступа только с использованием проектов Node? Есть ли разница в том, как вы получаете доступ к модулям ES6 js между проектами Node.js и. NET?

Любая информация по этому вопросу будет принята с благодарностью!

...