看起來好像TypeScript正在傳輸不可執行的目標文件。TypeScripts傳輸不可執行的文件
我必須在運行後運行chmod u+x <file>
以使文件變爲可執行文件。
這樣的話,即使他們有一個hashbang:
#!/usr/bin/env node
我怎麼能告訴打字稿/ TSC創建作爲可執行文件?
看起來好像TypeScript正在傳輸不可執行的目標文件。TypeScripts傳輸不可執行的文件
我必須在運行後運行chmod u+x <file>
以使文件變爲可執行文件。
這樣的話,即使他們有一個hashbang:
#!/usr/bin/env node
我怎麼能告訴打字稿/ TSC創建作爲可執行文件?
更改文件的權限不是打字稿的責任。
解決方案1. 在package.json的構建過程中使用單獨的步驟。例如:
{
"name": "temp",
"version": "1.0.0",
"scripts": {
"build": "tsc && chmod +x build/index.js"
},
"dependencies": {
"typescript": "^2.3.4"
}
}
解決方案2.
寫TypeScript Language Service Plugin。我認爲,在你的情況下,這是過度工程。
呵呵? tsc從字面上將文件寫出,.ts - > .js + .d.ts。它可以選擇使用什麼權限來寫入文件。這個構建步驟應該是不必要的。 –
@AlexanderMills在構建期間修改權限有點不負責任,如果他們試圖在默認情況下保證安全。你可以爭辯說,他們可以默認做他們現在做的事情,併爲此提供一個選項,但是他們將不得不處理該代碼中存在錯誤的可能性。風險大於好處,尤其是當打字稿專注於一個非常具體的問題時,團隊自由地忽略了編輯器通常負責的其他特徵請求。 – Catalyst
嗯,我真的需要TS來創建可執行但不可寫的.js文件。我不確定爲什麼TS不允許我們配置它。 –
我也喜歡配置打字稿,以使生成的.js文件不可寫也默認.... –
嗨,@亞歷山大米爾斯。你可以提供你的動機使用打字稿編譯器更改文件的權利? – galkin