1
WebpackでAngular2をコンパイルしようとしています。ここに私のセットアップは次のとおりです。Webpack、Angular2再構築最適化
import 'es6-shim/es6-shim.min';
import 'reflect-metadata/Reflect.js';
import 'zone.js/dist/zone';
import '@angular/platform-browser';
import '@angular/platform-browser-dynamic';
import '@angular/core';
import '@angular/common';
import '@angular/http';
import '@angular/router-deprecated';
マイwebpack.config.js
:私は私が持っているvendor.tsファイルを持っている
"use strict";
let path = require('path');
let webpack = require("webpack");
let CommonsChunkPlugin = webpack.optimize.CommonsChunkPlugin;
let ProvidePlugin = webpack.ProvidePlugin;
let UglifyJsPlugin = webpack.optimize.UglifyJsPlugin;
module.exports = {
devtool: 'source-map',
debug: true, // set false in production
cache: true,
entry: {
vendor: './app/vendor.ts',
app: './app/main.ts'
},
output: {
filename: './public/assets/js/[name].js'
},
plugins: [
new webpack.optimize.OccurenceOrderPlugin(true),
new webpack.optimize.CommonsChunkPlugin({name: 'vendor', filename: './public/assets/js/vendor.js', minChunks: Infinity}),
new UglifyJsPlugin({
compress: {
warnings: false
}
})
],
module: {
loaders: [
{
test: /\.ts$/,
loader: 'ts-loader',
query: {
'ignoreDiagnostics': [
2403, // 2403 -> Subsequent variable declarations
2300, // 2300 -> Duplicate identifier
2374, // 2374 -> Duplicate number index signature
2375 // 2375 -> Duplicate string index signature
]
},
exclude: [/\.(spec|e2e)\.ts$/, /node_modules\/(?!(ng2-.+))/]
}
]
},
resolve: {
extensions: ["", ".ts", ".js"]
}
};
だから、すべてはWebPACKのは、原料のコンパイルされ、罰金ですが、それはあまりにも遅いです。それは15089msを取っている。これをガルプ・タスクとして追加する予定ですが、これは機能しません。保存するたびに3〜5秒待たなければなりません。チャンクが変更されない場合、コンパイルを防止するためにセットアップを行うことは可能ですか?これにより、パフォーマンスが大幅に向上します。助けをありがとうございました。
あなたの答えをありがとう。これにより、プレフォームのビットが改善されましたが、まだ十分ではありません。まだかなり遅く、ファイルが大きすぎます。私はwebpackを取り除き、うんざりとevrithingをしなければならないと思う。そうすれば、私は何をコンパイルするのかをもっとコントロールすることができます。なぜなら、ベンダーがコンパイルされるためには、サーバーの起動時だけです。 appディレクトリの変更についてapp.jsだけを再コンパイルします。 – Alex
これは速くなければなりません。ウェブパックのウォッチモードを有効にしてください: 'watch:true ' – kemsky
ty、manこれがトリックでした:) – Alex