2016-12-11 4 views
2

Ich verwende webpack, Winkel 1.x und hat den folgenden CodeImport AngularJS minimierte Version

import angular from 'angular'; 

, die gut funktioniert, aber das Problem ist, dass im Lieferumfang enthaltenen Datei zu groß ist (AngularJS - 1.15MB). Es wird besser natürlich verkleinerte Version von AngularJS zu verwenden, aber wenn ich Code

import angular from 'angular/angular.min.js'; 

ändert es nicht richtig funktioniert, dann meine ich es wie angular.min.js scheint nicht angemessen angular Objekt nicht exportieren.

Was ist der richtige Weg, um eine verkleinerte Version der Bibliothek zu verwenden?

Antwort

3

Ich habe github issue bezüglich des Problems gefunden, es ist eine gute Idee, exports-loader zu verwenden. Meine Lösung ist:

webpack.config.js

... 
// Add alias, so webpack looks for minified version of angular 
resolve: { 
    alias: { 
     angular: "angular/angular.min.js" 
    } 
} 

... 
// Add exports loader for angular 
modules: { 
    loaders: [ 
     { 
      test: /angular\.min\.js$/, 
      loader: 'exports?angular' 
     } 
    ] 
} 

Nach dieser Konfiguration ich leicht verkleinerte Version von Winkeln mit dem folgenden Befehl

let angular = require('angular'); 

// or es6 version 

import angular from 'angular'; 
+0

Ab Webpack 2 benötigen Sie bei der Angabe des Loaders ein Präfix '-loader', also: 'loader: 'exports-loader? Angular''. Sie müssen auch 'npm installieren --save-dev exports-loader' – jbkly

+0

Vielen Dank für die Informationen für das Update von webpack 2. –

-1

U kann Winkel cli verwenden und geben Sie einfach

ng build -prod

dann Ihre minimierte Datei sind in dist foldeer. Es muss kleiner sein, und du kannst das ini public_html hochladen

+2

Dank importieren kann, verwende ich eckig 1. x –

+0

Downvote, weil er nicht erkennt, dass er nach AngularJS fragt, nicht nach Angular. – FrozenDroid

Verwandte Themen