我有一个软件包,其中的package.json
...
"main": "lib/index.js",
"scripts": {
"ts-compile": "PATH=$(npm bin):$PATH tsc -p src",
"preinstall": "npm install @types/node",
"postinstall": "npm run ts-compile"
},
...
当我运行npm install
时,postinstall
命令应在安装依赖项后执行。预期的结果是,打字稿编译器将正确编译/node_modules/.bin
中的文件,并将输出放入/lib
中。
虽然在Mac上尝试时可以按预期工作,但在Windows上却没有。具体来说,我可以看到npm正在尝试执行ts-compile
命令,但实际上并没有产生任何编译输出。当我在文件浏览器中检查/src
时,发现没有/lib
目录,表明没有编译。
我注意到,如果我手动将本地bin的路径指定为tsc -p src
命令的前缀,它将编译并产生输出。但是,我想知道是否有更好的通用解决方案可以在所有环境中使用。
基本上,我想知道如何修改ts-compile
脚本,使其可以在Mac和Windows上运行。