为什么在这个npm启动脚本中调用tsc两次?

时间:2017-05-29 18:16:49

标签: javascript node.js typescript tsc

package.json示例at this link包含以下start命令:

"start": "tsc && concurrently \"npm run tsc:w\" \"npm run lite\" ",  

显式上面的命令是做什么的?

我认为"concurrently \"npm run tsc:w\" \"npm run lite\" "意味着同时启动tsclite-server,并在watch上放置tsc以便进行更改立即重新加载到lite-server。它是否正确?而且,为什么要拨打tsc两次?什么是整个代码行的明确解释,包括所有组成部分放在一起?

1 个答案:

答案 0 :(得分:3)

您可以将命令分解为多个部分(删除引号):

  1. tsc
  2. concurrently
  3. npm run tsc:w
  4. npm run lite
  5. 第一部分调用TypeScript编译器CLI并编译TypeScript文件。

    接下来,有&&表示“cmd1然后/和cmd2”。下一节:

    concurrently npm run tsc:w npm run lite
    

    使用concurrently package CLI运行给定的命令,npm run tsc:wnpm run lite。部分:

    npm run tsc:w
    

    这会在package.json

    中运行脚本
    "tsc:w": "tsc -w"
    

    然后npm run litepackage.json中运行相应的脚本:

    "lite": "lite-server"
    

    因此,您在技术上调用tsc两次,但tsc:w开始观看您的TypeScript文件。 使用-w不进行初始构建,因此最初构建文件需要第一个tsc ,然后-w会监视您的文件并重建后续更改的文件。然后concurrent脚本运行监视脚本和服务器。