1

我使用以下命令创建了新模块

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

但是在它创建模块之后,我遇到了错误并且我的meanjs应用程序没有运行,除了显示带有控制台错误的白页

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 

谁能告诉我会是什么错误。
我的模块名称是客户

4

5 回答 5

8

在 client\config\customers.client.config.js 中重新放置这一行:

menuConfig.$inject = ['menuService'];

有了这个:

menuConfig.$inject = ['Menus'];
于 2016-10-06T12:47:17.033 回答
3

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

于 2016-04-17T20:24:14.503 回答
2

这个常见问题是由于两个原因引起的:-

1- bower.json 没有正确更新,用于此用途-->>

$凉亭更新

2-正如大多数开发人员已经提到的那样验证源文件夹中是否存在(例如:src)-->>

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

改变值

menuConfig.$inject = ['menuService'];

menuConfig.$inject = ['菜单'];

尝试和测试..所以如果您仍然遇到问题,请分享错误消息。

于 2017-05-12T17:41:04.767 回答
0

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

于 2016-04-08T08:45:18.823 回答
0

我遇到了同样的问题。您应该替换MenusmenuServicein customers.client.config.js。所以它会像:

(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']
    });
  }
}());
于 2016-07-12T14:03:46.747 回答