Я создаю приложение метеоритов, используя угловые шаблоны, и только что развернул его на своем сервере, используя Meteor-Up. Он прекрасно работает на моем локальном хосте, однако на сервере я получаю следующее:Аргумент 'HomeCtrl' не является функцией, получившей неопределенность после развертывания с помощью Meteor-Up
Argument 'HomeCtrl' is not a function, got undefined
Мой код (с некоторыми заменены ...):
homeCtrl.js
import angular from 'angular';
import angularMeteor from 'angular-meteor';
import { Controller } from 'angular-ecmascript/module-helpers';
import { Projects } from '/lib/collections';
import faker from 'faker';
export default class HomeCtrl extends Controller {
constructor() {
super(...arguments);
this.helpers({
...
});
}
...
}
app.js
import angularMeteor from 'angular-meteor';
import 'angular-sanitize';
import 'angular-ui-router';
import angular from 'angular';
import Loader from 'angular-ecmascript/module-loader';
import HomeCtrl from '../controllers/homeCtrl'
import WizardCtrl from '../controllers/wizardCtrl'
import RoutesConfig from '../routes';
const App = 'appName';
angular.module(App, [angularMeteor, 'ui.router']);
new Loader(App)
.load(HomeCtrl)
.load(WizardCtrl)
.load(RoutesConfig);
routes.js
import { Config } from 'angular-ecmascript/module-helpers';
export default class RoutesConfig extends Config {
configure() {
this.$stateProvider
.state('home', {
url: '/',
templateUrl: 'client/templates/home.html',
controller: 'HomeCtrl as home'
})
...
this.$urlRouterProvider.otherwise('/');
}
}
RoutesConfig.$inject = ['$stateProvider', '$urlRouterProvider'];
mup.js
module.exports = {
servers: {
one: {
host: '...',
username: '...',
// pem:
password: '...'
// or leave blank for authenticate from ssh-agent
}
},
"setupMongo": false,
meteor: {
name: 'app-name',
path: '../',
servers: {
one: {}
},
buildOptions: {
serverOnly: true,
},
env: {
ROOT_URL: '...',
MONGO_URL: '...'
},
dockerImage: 'abernix/meteord:base',
deployCheckWaitTime: 60
},
};
Что я пропустил в развертывании или что-то не так с кодом?
Столкнувшись с той же проблемой здесь :(. Вы найдете решение? –
Я закончил тем, что не использовал классы ES6 и вернулся к использованию стандартных функций контроллера. Я отправлю небольшой фрагмент примера ниже @abdullah – DJDMorrison