如何缩短webpack堆栈跟踪?

时间:2016-12-25 12:35:19

标签: angular logging webpack stack-trace

我刚刚将Angular2应用程序从SystemJS迁移到webpack。一切都很好,但我已经厌倦了滚动异常的堆栈跟踪。

一个例外是在控制台中生成716行堆栈跟踪!!!

我已将完整堆栈跟踪上传到git:https://github.com/sinedsem/test/blob/master/stack_trace.txt

我只想留下一部分消息,我可以看到原始文件和文件行:这是示例:

good part of stack trace

我能以任何方式实现这一目标吗?

Webpack配置与https://github.com/AngularClass/angular2-webpack-starter

中的配置相同

2 个答案:

答案 0 :(得分:1)

我找到了一个解决方法:使用" .ts"在Chrome开发工具中过滤。这只留下我在屏幕截图中显示的一条短消息。

答案 1 :(得分:0)

Angular 2 webpack启动器非常复杂;有太多的东西;如果你的项目需要不同的东西,或者如果有一些不同,那么很难调试错误。

尝试使用angular2网站上的webpack指南:

https://angular.io/docs/ts/latest/guide/webpack.html

示例angularclass不会使用angular2的每个新版本进行更新。 package.json中的示例; 从角度站点你会发现最后一个版本:“@ angular / common”:“~2.4.0” 从angularclass:“@ angular / common”:“~2.4.0”,

重要的是,了解webpack的工作方式,因为更简单的设置,以后可以修改和添加内容。

我的webpack.common.js更改为:

var webpack = require('webpack');
var HtmlWebpackPlugin = require('html-webpack-plugin');
var ExtractTextPlugin = require('extract-text-webpack-plugin');

var autoprefixer = require('autoprefixer');

var helpers = require('./helpers');


module.exports = {
    entry: {
        'polyfills': './src/polyfills.ts',
        'vendor': './src/vendor.ts',
        'app': './src/main.ts'
    },

    resolve: {
        extensions: ['', '.ts', '.js', '.json', '.css', '.scss', '.html']
    },

    module: {
        loaders: [
            {
                test: /\.ts$/,
                loaders: ['awesome-typescript-loader', 'angular2-template-loader']
            },
            {
                test: /\.html$/,
                loader: 'html'
            },
            {
                test: /\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot|ico)$/,
                loader: 'file?name=assets/[name].[hash].[ext]'
            },
            {
                test: /\.css$/,
                exclude: helpers.root('src', 'app'),
                loader: ExtractTextPlugin.extract('style', 'css?sourceMap')
            },
            {
                test: /\.css$/,
                include: helpers.root('src', 'app'),
                loader: 'raw'
            },
            {
                test: /\.scss$/,
                exclude: helpers.root('src', 'app'),
                loader: ExtractTextPlugin.extract(
                    'style-loader',
                    'css-loader!postcss-loader!sass-loader'
                )
            },
            {
                test: /\.scss$/,
                include: helpers.root('src', 'app'),
                loader: 'raw!css!postcss-loader!sass'
            },
            {
                test: /\.json$/,
                loader: 'json-loader'
            }
        ]
    },

    postcss: function (webpack) {
        return [
            autoprefixer({browsers: ['last 10 versions']}),
        ];
    },

    plugins: [

        new webpack.optimize.CommonsChunkPlugin({
            name: ['app', 'vendor', 'polyfills']
        }),

        new HtmlWebpackPlugin({
            template: 'src/index.html'
        }),


        new ExtractTextPlugin('css/[name].css')


    ]

};

我添加了saas支持和autoprefixer。