【问题标题】:Changing state is causing multiple instances of babel/polyfill?更改状态会导致多个 babel/polyfill 实例?
【发布时间】:2016-03-01 05:51:34
【问题描述】:

我正在使用 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;
}

谁能看到我做错了什么?

【问题讨论】:

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


    【解决方案1】:

    你是不是手动给meteor添加了babel/ecmascript包?

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

    而且由于所有babel相关的meteor包都是独立的包装器,所以很可能会出现这样的冲突。

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

    【讨论】:

      【解决方案2】:

      我知道这是一个非常古老的问题,但我在分析我的问题时来到了这里。在这里发布我的学习,因为它可能对其他人有所帮助。

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-07-02
        • 2017-10-09
        • 2016-05-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多