不可执行的 TypeScript 转译文件

TypeScripts transpiles files which are non-executable

似乎 TypeScript 正在转译不可执行的目标文件。

我必须 运行 chmod u+x <file> 转译后才能使文件成为可执行文件。

就是这样,即使他们有hashbang:

#!/usr/bin/env node

如何告诉 TypeScript / tsc 创建可执行的文件?

更改文件的权限不是打字稿的责任。

解决方案 1. 在 package.json 的构建过程中使用单独的步骤。例如:

{
  "name": "temp",
  "version": "1.0.0",
  "scripts": {
    "build": "tsc && chmod +x build/index.js"
  },
  "dependencies": {
    "typescript": "^2.3.4"
  }
}

方案二

TypeScript Language Service Plugin。我认为,在您的情况下,这是过度设计。