根据node_modules目录进行抖动

时间:2018-05-01 07:57:31

标签: shake-build-system

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

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

如何编码这些依赖项?

1 个答案:

答案 0 :(得分:1)

问题是node_modules是一个目录而不是一个文件,而你是can't depend on directories。解决方案是按照以下方式创建一个伪文件:

"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文件更改,而如果我们总是写"" 然后它不会。