webpack.ProvidePlugin angular

时间:2016-08-17 06:57:42

标签: angularjs webpack

我正在尝试使用角度NG6启动器。在其源代码中,import angular from angular几乎写入每个js文件。所以我试试这个:

 new webpack.ProvidePlugin({
      // $: "jquery",
      // jQuery: "jquery",
      // "window.jQuery": "jquery",
      'angular': 'angular',
    }),

但它不起作用。我不知道为什么,以及如何解决这个问题。

2 个答案:

答案 0 :(得分:5)

此处截图“angular.module中的第一条错误消息的解决方案不是函数”:Angular 1在没有垫片的情况下与webpack无法正常工作(请参阅https://github.com/webpack/webpack/issues/2049)。试试这个webpack loader配置:

module: {
    loaders: [
        /*
         * Necessary to be able to use angular 1 with webpack as explained in https://github.com/webpack/webpack/issues/2049
         */
        {
            test: require.resolve('angular'),
            loader: 'exports?window.angular'
        },
    ]
},
plugins: [
    new webpack.ProvidePlugin({
        'angular': 'angular',
    }),
],

这应该正确初始化角度对象,而不是将其设置为空对象(没有名为module的属性)的默认操作。

答案 1 :(得分:-1)

你需要像这样使用...... var app = angular.module('RequiredName',['ui.router','ui.bootstrap']);

并在app文件上使用它并调用你的app模块,就像你将要使用在app.factory或app.controller中的app.js文件中实现的任何函数或方法的项目部分一样... / p>