Performance 网页包,Angular2重建优化
我正在尝试用webpack编译Angular2;这是我的设置:我有一个vendor.ts文件,其中有:Performance 网页包,Angular2重建优化,performance,angular,bundle,webpack,Performance,Angular,Bundle,Webpack,我正在尝试用webpack编译Angular2;这是我的设置:我有一个vendor.ts文件,其中有: 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/co
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
:
"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正在编译这些东西,但速度太慢了。需要15089毫秒。我计划将此添加为一个“吞咽”任务,但这不起作用,每次保存都需要等待3-5秒。有没有可能建立一个设置,如果块没有改变,就阻止编译?这将大大提高性能。提前感谢您的帮助。您必须禁用
webpack.optimize.
插件,将devtool
切换到eval
并将transpileOnly:true
添加到ts loader
查询。您必须禁用webpack.optimize.
插件,将devtool
切换到eval
并将transpileOnly:true
添加到ts加载器
查询。谢谢您的回答。这稍微改善了性能,但仍然不够。仍然很慢,而且文件现在太大了。我想我得扔掉网页包,大口大口地吃东西。然后我想,我会对编译什么有更多的控制。因为我真的需要只有在服务器启动时才编译供应商。要在app dir.com中的更改中仅重新编译app.js,它应该很快,请启用网页包查看模式:watch:true
谢谢您的回答。这稍微改善了性能,但仍然不够。仍然很慢,而且文件现在太大了。我想我得扔掉网页包,大口大口地吃东西。然后我想,我会对编译什么有更多的控制。因为我真的需要只有在服务器启动时才编译供应商。要在app dir.com中的更改中仅重新编译app.js,它应该是快速的,请启用网页包监视模式:watch:true