我在基于 npm 的项目中使用 Shake,但对如何处理node_modules
文件夹感到困惑。据我所知,流程应该很简单:
- 任何更改都
package.json
将导致node_modules
重新填充。 node_modules
对和/或的所有更改main.ts
都会导致与打字稿相关的脚本触发。在这种情况下,它只会为整个更改集合运行一次。
我如何编码这些依赖项?
我在基于 npm 的项目中使用 Shake,但对如何处理node_modules
文件夹感到困惑。据我所知,流程应该很简单:
package.json
将导致node_modules
重新填充。node_modules
对和/或的所有更改main.ts
都会导致与打字稿相关的脚本触发。在这种情况下,它只会为整个更改集合运行一次。我如何编码这些依赖项?
问题是它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
文件就会改变,而如果我们总是写入""
它,那么它就不会。