2017-01-20 8 views
0

私は取得しています私はuglify JSプラグインを使用する場合、モジュールのエラーをインスタンス化するために失敗しました。 プラグインが含まれていないときはうまく動作しますが、どのようにプロダクション用にそれを縮小できますか? これは私のWebPACKの設定です:のWebPACKと角1 uglifyプラグイン

const webpack = require('webpack'); 

module.exports = { 
    entry: './src/app.js', 
    vendor: ['angular'], 
    output: { 
     path: './dist', 
     filename: 'bundle.js' 
    }, 
    module: { 
     loaders: [ 
      { 
       test: /\.css$/, 
       loader: 'style-loader!css-loader' 
      } 
     ] 
    }, 
    plugins: [ 
     new webpack.optimize.UglifyJsPlugin() 
    ], 
    watch: true 
}; 

マイapp.js:おそらく

var angular = require('angular'); 
require('angular-ui-router'); 
global.jQuery = require('jquery'); 
require('bootstrap'); 
require("./css/style.css"); 

angular.module('todoApp', ['ui.router']).config(require('./routes')); 

require('./services/todoService'); 

require('./controllers/mainController'); 
require('./controllers/homeController'); 
require('./controllers/aboutController'); 

答えて

2

、あなたはdependency injection guideに関する依存関係の注釈に従っていませんでした。 あなたはいくつかのオプションがあります:controllers/mainController

  1. を、(必要に応じて適応)mainController.$inject = ['$scope', '$http'];を指定します。
  2. ng-annotate-loaderを使用してください。あなたのコードのスタイルに応じて、開発、あなたがstrict dependency injectionを有効にするかもしれないが、依存関係の注釈を逃さないために/*@ngInject*/

でコンストラクタに注釈を付ける必要がある場合があります。

+0

npmビルドを実行するといくつかのエラーが発生しますが、アプリケーションはまだ動作しています; UglifyJsのbundle.jsに警告があります 未使用の関数nodesetLinkingFn [./~/angular/angular.js:10491、 0] 未使用関数directiveLinkingFn [./~/angular/angular.js:10498,0] 削除未使用可変arrayMode [./~/angular-ui-router/release/angular-ui-router.js:854の削除、 【./~/継承未使用の変数の初期化に使用されていない変数ignoreUpdate [./~/angular-ui-router/release/angular-ui-router.js:2098,0] 副作用の初期化で0] 副作用角度ui- –

関連する問題