2016-02-26 99 views
1

我使用typescript創建一個Angular2應用程序,並且每次運行npm start時,我所有的.ts文件都被編譯爲javascript文件並放入目錄中。無論如何要關閉它。typescript在運行npm start後自動創建js文件

的package.json

{ 
    "name": "angular-prac", 
    "version": "1.0.0", 
    "scripts": { 
    "start": "concurrent \"npm run tsc:w\" \"npm run lite\" ",  
    "tsc": "tsc", 
    "tsc:w": "tsc -w", 
    "lite": "lite-server", 
    "typings": "typings", 
    "postinstall": "typings install" 
    }, 
    "license": "ISC", 
    "dependencies": { 
    "angular2": "2.0.0-beta.7", 
    "systemjs": "0.19.22", 
    "es6-promise": "^3.0.2", 
    "es6-shim": "^0.33.3", 
    "reflect-metadata": "0.1.2", 
    "rxjs": "5.0.0-beta.2", 
    "zone.js": "0.5.15" 
    }, 
    "devDependencies": { 
    "concurrently": "^2.0.0", 
    "lite-server": "^2.1.0", 
    "typescript": "^1.7.5", 
    "typings":"^0.6.8" 
    } 
} 
+0

你可以發佈你的npm配置嗎?如果我們不知道'npm start'實際運行的是什麼,很難知道問題所在。 –

+0

我添加了package.json,這是你在找什麼 – xeroshogun

+0

對不起,響應緩慢。我想我知道這個問題是什麼 - 在下面發佈了一個答案。 –

回答

4

問題是最有可能與您的tsconfig.json - 這是一個包含您的打字稿生成配置文件(通常位於項目的根,沿着package.json)。默認情況下,它只是編譯文件,導致你描述的是你的源文件夾用編譯好的Javascript文件填滿的情況。該選項只有在您需要添加將取決於你想要的最終結果是什麼:

如果你想所有生成的文件被連接到單一的輸出文件

{ 
    "compilerOptions": { 
     "outFile": "./dist/app.js" 
    } 
} 

如果你想所有生成的文件輸出到一個單獨的文件夾(但仍作爲單獨的文件)

{ 
    "compilerOptions": { 
     "outDir": "./dist" 
    } 
} 

當然,如果有已經是一個tsconfig.json那裏,你會想要添加這些選項,而不是取代整個事情。

有大量的選項可用於配置TypeScript構建過程 - 如果您想更多地調整它,您可以找到info on the wiki,或者如果您需要更多示例,請告訴我,我會對它們進行編輯進入答案。

2

實際上,在運行「npm run start」命令時,啓動了TypeScript編譯器和lite-server。如果你只是想運行HTTP服務器,你可以運行下面的命令:

$ npm run lite 

這樣打字稿文件將不會在啓動時被重新編譯,你會使用以前編譯的JS文件來執行你的應用程序Angular2 。