【问题标题】:Missing modules after generation using Yeoman's generator-angular-fullstack使用 Yeoman 的 generator-angular-fullstack 生成后缺少模块
【发布时间】:2016-05-26 23:53:46
【问题描述】:

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

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

  1. 咕噜声
  2. 茉莉花
  3. 打字稿
  4. HTML
  5. ui-路由器
  6. 引导程序
  7. UI-引导
  8. 蒙古人
  9. 身份验证样板(是)
  10. 没有其他 oAuth 策略
  11. Socket.io(是)

生成器在更改/添加任何内容之前,会在 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' 也一样

有谁知道我可以做些什么来解决这个问题?

【问题讨论】:

  • 您缺少一些模块,请检查您是否有基于此模板生成的文件:github.com/angular-fullstack/generator-angular-fullstack/blob/…
  • @topheman - 让我知道这是否不是一个足够决定性的方式来验证这一点(以及我应该如何确认如果是这样),但我的 app.js 文件中有模块intranetApp,依赖于 intranetApp.auth 和 intranetApp.admin(以及其他,但它们都已找到)。 intranetApp.admin 在 intranet/client/app/admin/admin.router.js 中声明 intranetApp.auth 在 client/app/components/auth/auth.module.js 中声明 是否有一些地方我应该检查以确认这些文件插入模块时是否包含在内?
  • 我尝试了与上面相同配置的生成器 except 我选择了 Babel 而不是 TypeScript(上面列表中的#3,但是生成器提出的第一个问题)并且它工作正常。我想我可能只是一个菜鸟,并没有把 TypeScript 是一种编译语言放在一起,所以我从来没有用 npm install -g typescript 安装编译器
  • 没关系...我再次尝试了原始配置,然后使用 npm 安装了 typescript 并遇到了同样的问题。
  • 在运行那种生成器之前,请在 typescript、es6 和 es5 之间进行选择,它们不是同一种语言。你应该开始学习 JavaScript(之后转向 npm / bower / grunt / transpilers)。菜鸟没什么不好,只是在你能走路之前不要尝试飞行;-)

标签: angularjs node.js yeoman yeoman-generator angular-fullstack


【解决方案1】:

TL;DR

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

/TL;DR

所以这花了一些时间,让我看了好几页,但我会尽我所能在应得的地方给予赞扬。

首先,我注意到从identical question 到我的@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。我当时安装了最新的非 beta 版本,即 v7.2.1,然后在控制台中输入 sudo xcode-select -s /Applications/Xcode.app/Contents/Developer(如链接所述,您的路径可能不同 - 我的路径不同)。

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

替换这个“var module = /.module.js$/;”通过这个“var module = /[\w/]+.module.ts$/;”在我的 Gruntfile.js 中为我工作!

对我来说,它是第 632 行。希望这可以帮助其他人不要因为试图弄清楚这一点而发疯。

【讨论】:

    猜你喜欢
    • 2016-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-07
    • 1970-01-01
    • 1970-01-01
    • 2016-03-28
    • 1970-01-01
    相关资源
    最近更新 更多