2016-07-17 6 views
0

Ich versuche, ein Build-Skript mit nur npm ohne Grunt oder Schluck zu erstellen.npm - Kompilieren Typoskript-Dateien in npm Build-Skript

Die meisten Dinge arbeiten abgesehen von verketten Typoskript.

Ich kann einzelne Typoskript-Dateien kompilieren, aber ich habe eine Reihe von separaten Dateien, die ich verketten und dann kompilieren muss.

Ich benutze die Concat-CLI Mobule, aber es scheint nicht zu verketten Dateien und gibt nur die erste Datei in den Ordner.

Was ist der beste Weg zum Verketten von Typoskript-Dateien.

{ 
     "name": "starter", 
     "version": "1.0.0", 
     "description": "", 
     "main": "index.js", 

     "scripts": { 
     "scss": "node-sass --output-style compressed -o src/assets/css src/assets/sass/main.scss", 
     "compile:ts": "tsc --outDir ./src/assets/js/ --module commonjs ./src/app/**/*.ts", 
     "concat:ts": "concat-cli --files src/app/**/*.ts --output dist/js/output.ts", 
     "serve": "browser-sync start --server --files 'src/assets/css/, src/assets/js/*.js, **/*.html, !node_modules/**/*.html'", 
     "watch:css": "onchange 'src/assets/sass/*.scss' -- npm run scss", 
     "watch:js": "onchange 'src/app/**/*.js' -- npm run jshint", 
     "watch:ts": "onchange 'src/app/**/*.ts' -- npm run concat:ts", 
     "watch:all": "npm-run-all -p serve watch:css watch:js watch:images", 
     }, 
     "author": "", 
     "license": "ISC", 
     "devDependencies": { 
     "browser-sync": "^2.13.0", 
     "concat": "0.0.1-security", 
     "concat-cli": "^4.0.0", 
     "node-sass": "^3.8.0", 
     "onchange": "^2.5.0", 
     "typescript": "^1.8.10", 
     } 
    } 

Antwort

1

Was ist der beste Weg, Typoskript Dateien verketten.

Verwenden Sie Module und verwenden Sie einen Modullader wie Webpack. Schnellstart: https://basarat.gitbooks.io/typescript/content/docs/quick/browser.html

Warum

blind JS-Datei verketten, ohne ein Modulsystem verwendet, wird mit ReferenceError: Variable not defined und TypeError : undefined is .... rife sein. Es gibt auch andere Gründe für die Wartbarkeit. Mehr: https://basarat.gitbooks.io/typescript/content/docs/tips/outFile.html

+0

Kann ich Globs in der webpack.config.js verwenden. Ich habe einen App-Ordner mit Controllern, Direktiven, Diensten und Filtern für meinen angularjs-Code. Also habe ich verschiedene Typoskript-Dateien, die ich kompilieren muss, wenn ich 'entry: './src/app/**/*. Ts' benutze, bekomme ich einen Fehler – ttmt