Webpack和angular 1 uglify插件

时间:2017-01-20 08:46:39

标签: javascript angularjs webpack

当我使用uglify js插件时,我无法实例化模块错误; 当我不包含任何插件时它工作得很好,我怎样才能将它缩小为生产? 这是我的webpack配置:

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');

1 个答案:

答案 0 :(得分:2)

据推测,您没有遵循有关依赖性注释的dependency injection guide。 您有几个选择:

  1. gacutil -i中,指定controllers/mainController(根据需要进行调整)。
  2. 使用ng-annotate-loader。根据您的代码样式,您可能必须使用mainController.$inject = ['$scope', '$http'];
  3. 注释构造函数

    要在开发时不要错过依赖项注释,您可能需要启用strict dependency injection