通过具有依赖性的jspm安装npm软件包

30s*_*sam 24 javascript npm jspm

我知道我可以通过运行来安装npmjspm:jspm install npm:<pkg-name>这将允许我在开发中使用它(例如在我的JS文件中:) import myPackage from 'myPackage';.

如果包的package.json文件npm包含依赖项,我希望它也能在包中安装它们.所以在那个包文件夹中,我希望有一个包含的node_modules文件夹.但是,当我运行命令来安装npm软件包时,它不会安装node_modules,我将不得不手动转到该文件夹​​并运行npm install以显示这些文件夹.这意味着我无法在不手动运行此命令的情况下引用程序包本身中的其他文件/依赖项.有什么我可以通过运行jspm来确保这些安装吗?

Pet*_*erS 1

不,你不能在 JSPM 中执行当前的操作,并且我相信 JSPM 还没有真正解析 NPM 包。我认为这方面有工作,但在我发言时还没有开展。

我建议你看一下下面的 Maven 插件:

前端插件

我们已经在多个项目中使用了它,它允许您运行几种不同的安装风格,以便您可以将项目绑定在一起。

您需要从这里安装 maven 3:

Maven下载

然后,您将需要一个基本的 pom.xml 来运行 jspm install 以及 npm install。然后,您也可以运行 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>
Run Code Online (Sandbox Code Playgroud)

将开始 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>
Run Code Online (Sandbox Code Playgroud)

将为您提供 npm 安装。这将为您安装所有内容,并为您的环境提供一站式服务。我们已经使用这个工具有一段时间了,它总是可靠、灵活,并且将各种工具绑定在一起 - 它也得到了很好的支持。