改变状态导致多个babel / polyfill实例?

时间:2015-11-27 04:45:29

标签: javascript angularjs meteor angular-ui-router ionic

我正在使用Meteor,Angular和Ionic。我很难从状态A转换到状态B,因为我一直得到错误'只允许一个babel / polyfill实例'。我尝试尽可能地清理以下代码。请注意,我可以成功更改为其他状态。

这是我的routes.js文件:

.state('create-group', {
    url:'/create-group:/:buddyId',
    templateUrl: 'client/templates/create-group.ng.html',
    controller: 'createGroupCtrl'
})

这是我的州A模板:

<ion-item ng-repeat="buddy in buddies" ng-click="createGroup({{buddy}})">
</ion-item>

这是我的州A控制器:

angular
.module('app')
.controller('whosDownCtrl', whosDownCtrl);

function whosDownCtrl ($scope, $state, $ionicScrollDelegate, $timeout, $meteor) {
    $scope.createGroup = createGroup;

    function createGroup(buddy) {
        $state.go('create-group', { buddyId: buddy._id});
    }
};

这是我的B州控制员:

angular
.module('app')
.controller('createGroupCtrl', createGroupCtrl);

function createGroupCtrl ($scope, $stateParams) {
    var clickedUser = $stateParams.buddyId;
}

谁能看到我做错了什么?

2 个答案:

答案 0 :(得分:0)

您是否手动向流星添加了babel / ecmascript包?

检查.meteor / packages文件和.meteor / versions文件,因为该错误意味着项目中添加了多个冲突版本的babel。

由于所有与babel相关的meteor包都是独立的包装器,因此很可能会发生这样的冲突。

删除“多余的”babel包,你就可以了。

答案 1 :(得分:0)

我知道这是一个非常老的问题,但是我在分析问题时就落在了这里。在这里发布我的学习内容可能会有所帮助。

我的项目中也遇到了同样的错误。发生这种情况是因为模板和控制器解析度不正确。 这是一个相关的github问题,有助于澄清:https://github.com/Urigo/angular-meteor/issues/870

使用硬编码模板而不是templateUrl来正确分析问题。