Установка пакетов npm через jspm с зависимостями

Я понимаю, что могу установить пакеты npm с помощью jspm, выполнив: jspm install npm:<pkg-name> и это позволит мне использовать его в разработке (например, в моем файле JS: import myPackage from 'myPackage';).

Если файл package.json пакета npm содержит зависимости, я бы тоже хотел установить их внутри пакета. Так что в этой папке пакетов я бы ожидал папку node_modules с пакетами. Однако, когда я запускаю команду для установки пакета npm, он не устанавливает node_modules и мне придется вручную перейти в папку и запустить npm install чтобы они появились. Это означает, что я не могу ссылаться на другие файлы/зависимости внутри самого пакета без ручного запуска этой команды. Есть ли что-нибудь, что я могу запустить через jspm чтобы обеспечить их установку?

Ответы

Ответ 1

Нет, вы не можете сделать в настоящее время JSPM, и я считаю, что JSPM пока еще не разрешает пакеты NPM. Я думаю, что есть работа над этим, но недоступна, когда я говорю.

Что я предлагаю, вы посмотрите на следующий плагин maven:

Плагин на передней панели

Мы использовали это в нескольких проектах, и он позволяет запускать несколько различных вариантов установки, чтобы вы могли связать ваш проект вместе.

Вам нужно будет установить maven 3 здесь:

Загрузка Maven

Затем вам понадобится базовый pom.xml для запуска установки jspm, а также установки npm. Затем вы можете запустить тесты Karma и скомпилировать их из этой настройки.

Из документов:

<execution>
    <id>jspm install</id>
    <goals>
        <goal>jspm</goal>
    </goals>

    <configuration>
        <!-- optional: The default argument is actually
        "install", so unless you need to run some other jspm command,
        you can remove this whole <configuration> section.
        -->
        <arguments>install</arguments>
    </configuration>
</execution>

Запустится установка jspm и, наконец,

<execution>
    <id>npm install</id>
    <goals>
        <goal>npm</goal>
    </goals>

    <!-- optional: default phase is "generate-resources" -->
    <phase>generate-resources</phase>

    <configuration>
        <!-- optional: The default argument is actually
        "install", so unless you need to run some other npm command,
        you can remove this whole <configuration> section.
        -->
        <arguments>install</arguments>
    </configuration>
</execution>

Предоставляет вам установку npm. Это позволит вам установить все для вас и предоставить вам все в одном магазине для вашей среды. Некоторое время мы использовали этот инструмент, и его всегда считали надежным, гибким и связывали различные инструменты вместе - он также хорошо поддерживается.

Ответ 2

Вот список команд, которые вы можете запустить:

jspm install npm:myDependency
jspm install --no-optionnal
jspm install github:authorGithubAccount/myDependency
npm install myDependency

Некоторые зависимости доступны для обоих, но не всегда, а не в той же структуре. Хотя jspm может обрабатывать систему модулей node.js. Возможно, зависимость, которую вы пытаетесь добавить, не имеет node_modules.