运行 npm 用 sbt 安装

Running npm install with sbt

所以我有一个使用 sbt-js-enginesbt-webpack 插件的 sbt 项目。

成功获取并解析npm包就好了。然后 webpack 将构建项目。

我已经在 package.json 中添加了一个 npm 安装脚本,

  "scripts": {
    "install": "bower install"
  }

但是,我目前遇到的问题是,当我 运行 webpack(实习生使用 sbt-js-engine )时,它 运行s npm update 而不是 npm install.

这是我的 build.sbt,

的摘录
lazy val common = project.in(file("common")).
  enablePlugins(SbtWeb).
  settings(
    sourceDirectory in webpack := baseDirectory.value,
    resourceManaged in webpack := (resourceManaged in webpack in root).value,
    includeFilter in webpack := ("*.jsx" || "*.js" || "*.json") && new FileFilter {
      @tailrec
      override def accept(pathname: File): Boolean = {
        if (pathname == null) false
        else if (pathname.getName == "javascripts") true
        else accept(pathname.getParentFile)
      }
    },
    JsEngineKeys.engineType := JsEngineKeys.EngineType.Node
  )

无论如何我可以 运行 npm install 作为 webpack 任务的依赖项而不是甚至之前?

您可以尝试这样的操作:

sourceDirectory in webpack := {
    Process("/usr/local/bin/npm install", file("[path to working dir]")).!
    baseDirectory.value
}

这意味着它将 运行 同时设置 webpack 设置。