Change AureliaSpa to use vendor bundle like the other templates

This commit is contained in:
SteveSandersonMS
2016-10-28 14:51:12 +01:00
parent 3087352ea1
commit acfb253a40
6 changed files with 70 additions and 33 deletions

View File

@@ -4,50 +4,32 @@ var webpack = require('webpack');
var AureliaWebpackPlugin = require('aurelia-webpack-plugin');
module.exports = {
resolve: { extensions: [ '.js', '.ts' ] },
devtool: isDevBuild ? 'inline-source-map' : null,
entry: {
'app': [], // <-- this array will be filled by the aurelia-webpack-plugin
'aurelia-modules': [
'aurelia-bootstrapper-webpack',
'aurelia-event-aggregator',
'aurelia-fetch-client',
'aurelia-framework',
'aurelia-history-browser',
'aurelia-loader-webpack',
'aurelia-logging-console',
'aurelia-pal-browser',
'aurelia-polyfills',
'aurelia-route-recognizer',
'aurelia-router',
'aurelia-templating-binding',
'aurelia-templating-resources',
'aurelia-templating-router'
]
},
resolve: { extensions: [ '.js', '.ts' ] },
devtool: isDevBuild ? 'inline-source-map' : null,
entry: { 'app': 'aurelia-bootstrapper-webpack' }, // Note: The aurelia-webpack-plugin will add your app's modules to this bundle automatically
output: {
path: path.resolve('./wwwroot/dist'),
publicPath: '/dist',
filename: '[name]-bundle.js'
filename: '[name].js'
},
module: {
loaders: [
{ test: /\.ts$/, include: /ClientApp/, loader: 'ts', query: {silent: true} },
{ test: /\.html$/, loader: 'html-loader' },
{ test: /\.css$/, loaders: ['style-loader', 'css-loader'] },
{ test: /\.ts$/, include: /ClientApp/, loader: 'ts', query: { silent: true } },
{ test: /\.html$/, loader: 'html' },
{ test: /\.css$/, loaders: [ 'style', 'css' ] },
{ test: /\.(png|woff|woff2|eot|ttf|svg)$/, loader: 'url-loader?limit=100000' }
]
},
plugins: [
new webpack.ProvidePlugin({ $: 'jquery', jQuery: 'jquery' }), // because Bootstrap expects $ and jQuery to be globals
new webpack.DllReferencePlugin({
context: __dirname,
manifest: require('./wwwroot/dist/vendor-manifest.json')
}),
new AureliaWebpackPlugin({
root: path.resolve('./'),
src: path.resolve('./ClientApp'),
baseUrl: '/'
}),
new webpack.optimize.CommonsChunkPlugin({
name: ['aurelia-modules']
}),
})
].concat(isDevBuild ? [] : [
// Plugins that apply in production builds only
new webpack.optimize.UglifyJsPlugin()