- 总结
- 更进一步
- 更进一步
总结
当我们把所有东西放在一起时,我们完整的webpack.config.js文件看起来像这样:
'use strict';const path = require("path");const webpack = require('webpack');const HtmlWebpackPlugin = require('html-webpack-plugin');const basePlugins = [new webpack.optimize.CommonsChunkPlugin('vendor', '[name].[hash].bundle.js'),new HtmlWebpackPlugin({template: './src/index.html',inject: 'body',minify: false})];const envPlugins = {production: [new webpack.optimize.UglifyJsPlugin({compress: {warnings: false}})],development: []};const plugins = basePlugins.concat(envPlugins[process.env.NODE_ENV] || []);module.exports = {entry: {app: './src/index.ts',vendor: ['@angular/core','@angular/compiler','@angular/common','@angular/http','@angular/platform-browser','@angular/platform-browser-dynamic','@angular/router','es6-shim','redux','redux-thunk','redux-logger','reflect-metadata','ng2-redux','zone.js',]},output: {path: path.resolve(__dirname, 'dist'),filename: '[name].[hash].js',publicPath: "/",sourceMapFilename: '[name].[hash].js.map'},devtool: 'source-map',resolve: {extensions: ['.webpack.js', '.web.js', '.ts', '.js']},plugins: plugins,module: {rules: [{ test: /\.ts$/, loader: 'tslint' },{ test: /\.ts$/, loader: 'ts', exclude: /node_modules/ },{ test: /\.html$/, loader: 'raw' },{ test: /\.css$/, loader: 'style!css?sourceMap' },{ test: /\.svg/, loader: 'url' },{ test: /\.eot/, loader: 'url' },{ test: /\.woff/, loader: 'url' },{ test: /\.woff2/, loader: 'url' },{ test: /\.ttf/, loader: 'url' },],noParse: [ /zone\.js\/dist\/.+/, /angular2\/bundles\/.+/ ]}}
更进一步
Webpack也做类似热部署和代码优化,我们没有覆盖。有关更多信息,您可以查看官方文档。源代码也可以在Github上获得。
