使用 Yeoman 生成后缺少模块 generator-angular-fullstack

Missing modules after generation using Yeoman's generator-angular-fullstack

有一个问题与我的标题几乎相同但没有答案 ,我无法评论 @Gabriel-Kunkel 是否有任何问题。我打算 post 一个答案,但我看到 Whosebug 说要避免这样做,所以问同样的问题是我能想到的最好的...

我正在尝试使用这些选项从 generator-angular-fullstack 进行全新安装

  1. 咕噜
  2. 茉莉花
  3. TypeScript
  4. HTML
  5. ui-router
  6. Bootstrap
  7. UI-Bootstrap
  8. Mongo
  9. 身份验证样板(是)
  10. 没有其他 oAuth 策略
  11. Socket.io(是)

生成器,在 changing/adding 任何东西之前,加载一个空白屏幕,并在 Chrome 控制台中显示这些错误:

Uncaught Error: [$injector:nomod] Module 'intranetApp.auth' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.

'intranetApp.admin'

也一样

有人知道我能做些什么来解决这个问题吗?

TL;DR

在您的 Gruntfile.js 中,您需要将 var module = /\.module\.js$/; 替换为 var module = /[\w/]+.module.ts$/;generator 的提交#24f1fc1 的第 632 行)

/TL;DR

所以这花了一些时间,让我翻了好几页,但我会尽我最大的努力在到期的地方给予信任。

首先,我从我的 中注意到,@gabriel-kunkel 指出我安装了一些缺少的对等依赖项(不确定您是否应该添加 --save 或 --save-dev这些命令,但我使用了 --save-dev):

  1. npm install tslint
  2. npm install kerberos
  3. npm install typescript

不过您可能还有其他的,因此请查看依赖关系树底部的控制台输出。

其次,当 运行 npm install 时,我看到关于 xcode-select 的错误,为了解决这个问题,我发现 here 我需要从 Apple App Store 安装 xcode。我当时安装了最新的非测试版,它是 v7.2.1,然后在控制台中输入 sudo xcode-select -s /Applications/Xcode.app/Contents/Developer(正如 link 所说,您的路径可能不同 - 我的不是)。

第三次也是最后一次,我偶然发现了 here,它准确地说明了我需要做什么来解决我的问题。 Gruntfile.js 需要更改一行...来自 fdfandrade 的引述 link:

Replacing this "var module = /.module.js$/;" by this "var module = /[\w/]+.module.ts$/;" in my Gruntfile.js worked for me!

对我来说,是第 632 行。希望这可以帮助其他人避免疯狂地试图解决这个问题。