VS Code&增量的Typescript编译

时间:2016-08-26 05:59:46

标签: typescript webpack visual-studio-code

如果我可以让Typescript重新编译Visual Studio Code中已更改的.ts文件,我找不到关于该主题的明确信息。 我可以运行“tsc -w”(或通过任务)和“webpack --watch”并完成everthing,但是tsc总是重建每个文件,从而触发webpack来重建我的整个项目。 由于这是一个不断发展的angular2项目,因此耗费了大量时间。

在Visual Studio 2015中,typescript以某种方式管理(通过compileOnSave:true选项?)以仅编译我更改的文件。

我可以在Visual Studio Code中获得该行为吗?

谢谢:)

更新:

显然单独的webpack应该可以工作,但不知怎的,我的配置不会对.ts文件进行更改。这是我的webpack.config.js:

    /// <binding />
"use strict";
var webpack = require('webpack');
var HtmlWebpackPlugin = require('html-webpack-plugin');
var path = require('path');
var CleanWebpackPlugin = require('clean-webpack-plugin');

module.exports = {
    entry: {
        "polyfills" :  path.resolve("./wwwroot/app/base/polyfills"),
        "app": path.resolve("./wwwroot/app/base/main"),
        "vendor": path.resolve("./wwwroot/app/base/vendors")      
    },
    devtool: 'source-map',    
    output: {
        filename: "[name].bundle.js",
        chunkFilename: "[id].chunk.js",
        path: "./wwwroot/dist/",
        publicPath: "./dist/"
    },
    watch: true,   
    resolve: {       
        extensions: ['','.js','.ts']
    },
    module: {
        loaders: [
            //Typescript
           { test: /\.tsx?$/, loader: 'ts-loader' },
            // SASS
            {
                test: /\.scss$/,
                loaders: ['style','css','sass'],
                exclude: '/node_modules/'
            },
      {
          test: /\.html$/,
          loader: 'html'
      },
            // Fonts & Files
            {
                test:  /\.(ttf|eot|txt|svg|woff(2)?)(\?[a-z0-9=&.]+)?$/,
                loader: 'file-loader' ,
                exclude: '/node_modules/'
            }
        ]
    },
    plugins: [
    //new webpack.OldWatchingPlugin(),
        //new webpack.optimize.UglifyJsPlugin({
        //    compressor: {
        //        warnings: false
        //    }
        //}),

        new webpack.ProvidePlugin({
            $: "jquery",
            jQuery: "jquery"
        }),
         new webpack.optimize.CommonsChunkPlugin({
             name: ["app","vendor","polyfills"]
         }),

          new HtmlWebpackPlugin({
              template:  './wwwroot/index.html'
          })
    ]
};

节点版本:4.5.0 / webpack 1.13.2 / ts-loader:0.8.2 / Windows 10

1 个答案:

答案 0 :(得分:1)

  

和&#34; webpack --watch&#34;并完成,但tsc总是重建每个文件,从而触发webpack重建我的整个项目

您不应将tsc -w与webpack一起使用。只需使用ts-loader,webpack就可以逐步编译。

更多

快速入门:https://basarat.gitbooks.io/typescript/content/docs/quick/browser.html