Ich habe Probleme beim Einrichten von Webpack, um meine App ordnungsgemäß zu verkleinern. Ich erstelle, um JS-Dateien zu trennen, eine vendor.js (Bibliotheken) und eine main.js (meine Anwendung). Ich habe nach meinem Problem gesucht und gesucht und finde anscheinend keine angemessene Lösung.
webpack.config.jsWebpack + eckig 1.x + Schluck + Verkleinern
var webpack = require("webpack");
var ngAnnotatePlugin = require('ng-annotate-webpack-plugin');
let vendors = [
'angular',
'lodash',
'moment',
'angular-ui-router',
'angular-loading-bar',
'angular-filter',
'angular-animate'
];
module.exports = {
entry: {
app: './halo/app.js',
vendor: vendors
},
output: {
filename: './build/main.js'
},
plugins: [
new webpack.optimize.CommonsChunkPlugin({
name: "vendor",
filename:"./build/vendor.js"
}),
new ngAnnotatePlugin({
add: true
}),
new webpack.optimize.UglifyJsPlugin()
],
module: {
loaders: [
{
test: /\.js$/,
exclude: /(node_modules)/,
loader: 'babel-loader',
query: {
presets: ['es2015']
}
}
]
}
};
Mein Problem ist, ohne minification, die App funktioniert gut. Wenn ich die Anwendung und den Anbieter verkleinere, scheint es nicht zu funktionieren. Ich bekomme unbekannte Providerfehler.
Ich habe über Mangeln gelesen, aber das scheint mein Problem auch nicht zu beheben (es sei denn, ich mache es nicht richtig). Ich mache auch ngInject an den richtigen Stellen.
Ich fand diese Config snippit innerhalb optimize.UglifyJsPlugin ({}) jemand setzen
{
beautify: false, // Don't beautify output
comments: false, // Eliminate comments
// Compression specific options
compress: {
warnings: false,
drop_console: true
},
mangle: {
except: ['$'], // Don't mangle $
screw_ie8 : true, // Don't care about IE8
keep_fnames: true // Don't mangle function names
}
}
kann etwas Licht in diese Schuppen bitte?
Welche Anbieter versagen? Wie sehen Ihre Controller aus? – garethb
nach dem Debuggen für eine Weile, die Controller sind in Ordnung, ng-Annotate ist die Injektion Abhängigkeiten richtig, aber ich bekomme einen Fehler, dass Anbieter 'a' ist nicht verfügbar. nicht viel Hilfe, aber ich bin immer noch dabei herauszufinden –
das Problem scheint mit der mangle Option zu sein. –