Meanjs:发生器错误:未知提供者:MenusProvider < – 菜单

我使用下面的命令创build了新的模块

$ yo meanjs:crud-module <module-name> 

但在创build模块后,我得到下面的错误,我的意思是应用程序不运行,除了显示控制台错误的白页

 rror: [$injector:unpr] Unknown provider: MenusProvider <- Menus http://errors.angularjs.org/1.5.3/$injector/unpr?p0=MenusProvider%20%3C-%20Menus return new ErrorConstructor(message); 

我正在使用以下版本的发电机

 -- generator-meanjs@0.4.4 

任何人都可以打电话给我什么是错误的。
我的模块名称是客户

在客户端\configuration\ customers.cliuent.config.js reemplace这一行:

 menuConfig.$inject = ['menuService']; 

有了这个:

 menuConfig.$inject = ['Menus']; 

在client \ config \ customers.cliuent.config.js中,yo软件包将menuService作为Menu引用。 更改引用正确的对象名称,它将解决问题。

这个常见的问题是由于两个原因造成的:

1- bower.json没有被正确更新,用于这个用途 – >>

$凉亭更新

2-正如大多数开发人员已经提到validation源文件夹(如:src) – >>

 src/module/(your crud module filename)/client/config/codes.client.config 

改变的价值

menuConfig。$ inject = ['menuService'];

menuConfig。$ inject = ['Menus'];

尝试和testing..所以,如果你仍然面临问题,请分享错误信息。

将新的CRUD模块添加到默认模板时,菜单的名称通常是“topbar”而不是“Menus”。 试试看,让我知道。

我遇到了同样的问题。 您应该用menuService中的menuServicereplaceMenus 。 所以会是这样的:

 (function () { 'use strict'; angular .module('customers') .run(menuConfig); menuConfig.$inject = ['menuService']; function menuConfig(menuService) { // Set top bar menu items menuService.addMenuItem('topbar', { title: 'Customers', state: 'customers', type: 'dropdown', roles: ['*'] }); // Add the dropdown list item menuService.addSubMenuItem('topbar', 'customers', { title: 'List Customers', state: 'customers.list' }); // Add the dropdown create item menuService.addSubMenuItem('topbar', 'customers', { title: 'Create Customer', state: 'customers.create', roles: ['user'] }); } }());