2017-02-18 91 views
1

我想加快編譯時間。對不是它需要大約40s,我不知道如何使它更快。Webpack和Angular2編譯時間

我試過設置isolatedModules爲true在配置,但結果我有一個錯誤:

error TS1208: Cannot compile namespaces when the '--isolatedModules' flag is provided.

我使用的WebPack流有在一口任務。

Gulpfile.js任務

gulp.src('./tsScripts/users') 
     .pipe(webpack(
      { 
       entry: { 
        "core_users": "./Orchard.Web/Modules/Core/tsScripts/users/users.ts", 

        "resources_product": "./Orchard.Web/Modules/Resources/tsScripts/products/product.ts", 
        "resources_products": "./Orchard.Web/Modules/Resources/tsScripts/products/products.ts", 

        "xrm_contractors": "./Orchard.Web/Modules/Xrm/tsScripts/contractors/contractors.ts", 
        "xrm_contractors_create": "./Orchard.Web/Modules/Xrm/tsScripts/contractors/contractors.create.ts", 
        "xrm_contractors_edit": "./Orchard.Web/Modules/Xrm/tsScripts/contractors/contractors.edit.ts", 
        "xrm_contractors_details": "./Orchard.Web/Modules/Xrm/tsScripts/contractors/contractors.details.ts", 

        "resources_inventory": "./Orchard.Web/Modules/Resources/tsScripts/inventory/inventory.ts", 
        "resources_inventory_create": "./Orchard.Web/Modules/Resources/tsScripts/inventory/inventory.create.ts", 
        "resources_inventory_edit": "./Orchard.Web/Modules/Resources/tsScripts/inventory/inventory.edit.ts", 
        "resources_inventory_details": "./Orchard.Web/Modules/Resources/tsScripts/inventory/inventory.details.ts", 

        "phx_productRegistry": "./Orchard.Web/Modules/phx/tsScripts/productRegistry/productRegistry.ts", 
        "phx_productRegistry_create": "./Orchard.Web/Modules/phx/tsScripts/productRegistry/productRegistry.create.ts", 
        "phx_productRegistry_edit": "./Orchard.Web/Modules/phx/tsScripts/productRegistry/productRegistry.edit.ts", 
        "phx_productRegistry_details": "./Orchard.Web/Modules/phx/tsScripts/productRegistry/productRegistry.details.ts", 

        "vendor": "./Orchard.Web/Modules/Core/tsScripts/vendor.ts", 
        "polyfills": "./Orchard.Web/Modules/Core/tsScripts/polyfills.ts" 
       }, 
       output: { 
        path: __dirname, 
        filename: "./[name].js" 
       }, 
       resolve: { 
        extensions: ['', '.ts', '.js'], 
        unsafeCache: true, 
       }, 
       cache: true, 
       devtool: 'eval', 
       module: { 
        loaders: [ 
         { 
          test: /\.ts/, 
          loaders: ['ts-loader'], 
          exclude: [/\.(spec|e2e)\.ts$/, /node_modules\/(?!(ng2-.+))/], 
          options: { 
           transpileOnly: true 
          } 
         }, 
        ] 
       }, 
       plugins: [ 
        new wpack.ProvidePlugin({ 
         $: "jquery", 
         jQuery: "jquery", 
         "window.jQuery": "jquery", 
        }), 
        new wpack.optimize.CommonsChunkPlugin(
         { 
          name: "vendor", 
          minChunks: Infinity 
         }) 
       ] 
      } 
     )) 
     .pipe(gulp.dest('Scripts/main/')); 

​​

///<reference path="./typings/globals/core-js/index.d.ts"/> 
///<reference path="./node_modules/@types/jquery/index.d.ts"/> 
///<reference path="./node_modules/@types/select2/index.d.ts"/> 

import 'zone.js/dist/zone'; 
import '@angular/common'; 
import '@angular/compiler'; 
import '@angular/core'; 
import '@angular/forms'; 
import '@angular/http'; 
import '@angular/platform-browser'; 
import '@angular/platform-browser-dynamic'; 
import '@angular/router'; 
import 'jquery'; 
import 'angular2-datatable'; 
import 'angular2-modal'; 
import 'rxjs'; 
import 'datatables' 
import 'select2' 

一切工作正常,但每次構建等待〜40歲......這太長時間。我試圖設置jQuery作爲外部,但它給了我1-3s。 也許外部角2?或者,也許我做了一些錯誤的事情,webpack正在整個解決方案中查找文件。 非常感謝您的幫助。

回答

1

在開發過程中,您可以使用啓用增量編譯的webpack watch模式。