2

我在基于 npm 的项目中使用 Shake,但对如何处理node_modules文件夹感到困惑。据我所知,流程应该很简单:

  • 任何更改都package.json将导致node_modules重新填充。
  • node_modules对和/或的所有更改main.ts都会导致与打字稿相关的脚本触发。在这种情况下,它只会为整个更改集合运行一次。

我如何编码这些依赖项?

4

1 回答 1

1

问题是它node_modules是一个目录而不是一个文件,你不能依赖于目录。解决方案是创建一个假文件,如下所示:

"node_modules/.stamp" %> \out -> do
    need ["package.json"]
    cmd_ "npm update"
    copyFile' "package.json" out

"main.ts.out" %> \out -> do
    need ["node_modules/.stamp","main.ts"]
    cmd_ "whatever"

上面唯一的“奇怪”位是我们copyFile'package.json邮票文件。这是一个技巧,如果我们对文件进行哈希检查,那么.stamp文件就会改变,而如果我们总是写入""它,那么它就不会。

于 2018-05-01T07:57:31.013 回答