问题标签 [angular-fullstack]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angularjs - angular-fullstack 中服务器重启后 Mongoose populate() 为空
我有“视频”猫鼬模式,它引用“所有者”,它是对“用户”模式的引用。我正在使用 Angular-Fullstack Yeoman 生成器
video.model.js:
用户模式(样板 Yeoman angular-fullstack 代码):
我有一个控制器,它具有获取一个视频(exports.show)的功能和一个获取多个视频(exports.index)的功能,video.controller.js:
如果将视频添加到数据库并在重新启动服务器之前进行查询,则一切都按预期运行。填充功能有效,并且为每个视频填充了一个“所有者”。一旦服务器重新启动,任何查询的所有所有者都是null
,我不知道为什么。如果我查看 Mongo CLI 中的文档,视频有“所有者”,它是用户的字符串“_id”(这是预期的)。
我尝试使用 aSchema.Type.ObjectId
作为视频“所有者”的类型,但得到了相同的结果:
为什么我的视频的“所有者”属性返回 null?
Mongo 版本:2.4.12 Mongoose 版本:3.8.24
npm - Bower 没有安装在 zsh 上
我都试过了
'npm -g install bower' 和 'sudo pm -g install bower'
仍然说
'zsh:找不到命令:凉亭'
angularjs - 是否可以在 yo angular-fullstack 项目中将 boostrap 列设置为 24?
我有一个相当大的项目正在进行中,它是使用 yo angular-fullstack 框架生成的,我强烈推荐。
过去,我通过自定义 boostrap 构建将 24 列设置用于引导程序。在这种情况下这很容易/可能吗?
使用 bower、npm 等的重要部分是您获得了一个可靠的框架,但现在尚不清楚如何在不破坏事物的情况下更换 bower boostrap 部件(这是我假设我需要做的)。或者将@grid-columns 设置修改为 24 是否容易?然后如何重建?
我意识到我可以下载引导程序并进行自定义。我希望有一种简单的方法可以做到这一点,而无需使用 bower 卸载 bower 版本,然后生成我自己的版本。是否有更简单的方法来自定义引导程序的凉亭版本,或者这是一个愚蠢的问题?
任何见解将不胜感激。
node.js - 有限制的猫鼬更新
我希望X documents
一次更新所有内容。简而言之,我基本上需要随机选择N documents
然后将它们更新为"selected"
. 我正在尝试设计一个需要随机分发问题的 API。我尝试过在猫鼬中找不到这样做的方法:
update
最终选择一切
--- 我也试过
两者都导致更新所有文档。有没有办法将它推到猫鼬而不必使用map
?我没有提到的另一件事是.update()
没有 multi 导致 1 个文档被更新。
javascript - 使用 google oauth2 登录 Angular 全栈默认应用程序
我在 localhost:9000 上运行有角度的全栈
我希望能够通过单击登录页面上的与 Google+ 连接按钮来登录。它不起作用,我不断收到错误 400。错误:redirect_uri_mismatch
我去过谷歌开发者控制台并建立了一个项目
我在 Google Developers Console 中设置了以下内容
客户编号 <Client ID>
客户秘密 <Client Secret>
重定向 URI http://localhost:9000/auth/google/oauth2callback
Javascript 起源 http://localhost:9000
在 local.env.js
GOOGLE_ID:<Client ID>
GOOGLE_SECRET:<Client Secret>
当我通过单击 Connect with google+ 按钮登录时,我收到错误 400。
错误:redirect_uri_mismatch
请求中的重定向 URI:http://localhost:9000/auth/google/callback
有谁知道我做错了什么或者可以向我解释如何设置它?
javascript - Angular 的路由器在阻止默认事件时不起作用
我正在使用 Yeoman 包中的 Angular-Fullstack 生成器,包括 Passport.js(FB、G+、Twitter)
我遇到了一个问题,在我$stageChangeStart
的应用程序运行的主要事件中,表达式$location.path('/login');
什么都不做。即使它在表达式调用之前和之后发出警报,这意味着代码安全到达那里,并且没有console.log
错误。
它发生在我添加event.preventDefault();
之前的位置表达式之后:
添加 preventDefault 的原因是为了尝试解决其他问题。
通过NODE_ENV=development
成功登录到 /home 后的重定向可以完美地工作,但是当我使用 Grunt 构建项目并在远程服务器上运行它时,该特定重定向不再起作用,即使我可以$location.path('/home')
在我的丑陋代码中看到特定的调用.
如果用户通过身份验证,我什至检查main.controller.js
以确保它重定向到 /home:
成功登录后,发生的重定向在我的 LoginCtrl 中:
因此,当使用 运行它时NODE_ENV=production
,它会重定向到 /#_# 或类似的东西,然后重定向到“/”,一个“主”路由,而不是预期的“家”,在成功登录后,只有手动尝试去 /home - 工作。
我试图理解为什么我在环境之间的行为上有差异,以及为什么 preventDefault 会完全停止 ngRouter 的运行。依赖无法在生产环境中提供相同功能的开发环境是很危险的。
感谢有关此案的任何建议。
javascript - 如何在没有服务器组件的情况下使用 Angular-fullstack?
我真的很喜欢 Angular-Fullstack 为项目搭建脚手架的方式。但是我已经通过一个 RESTful API 提供了数据。所以我不需要任何服务器组件。有没有办法,我只能使用客户端部分并删除服务器组件?
更新:我知道生成器 Angular 脚手架,但我想要 Fullstack 脚手架的方式。
谢谢。
angularjs - 嵌套视图 VS 分离
我正在尝试为我的应用决定一个 Angular 结构。我从 Angular 全栈生成器开始。
在 UI-Router 中,您可以嵌套状态。嵌套相关状态对我来说似乎是合乎逻辑的。例如:Registration
, Registration.form
, Registration.confirmation
.... 但这些嵌套状态似乎依赖于在同一页面上查看的每个子视图和父视图。
这意味着父级将有一个<ui-view>
标签,该标签将在调用时插入子视图。
是否可以让嵌套状态替换父状态?
或者我只是做了未嵌套的状态?
或者这是一个抽象状态的例子?
node.js - 在 express api 中返回时,mongoose 中的 _id 类型错误
我已经设置了一个简单的测试(摩卡咖啡和应该),我正在测试我保存的报告是否与我得到的报告相同。我更喜欢使用 deep.equal 但因为 _id 不等于我被卡住了。
我得到的输出是
如果我改为使用 == 它工作正常
(res.body._id == report._id).should.equal(true);
我最终想要的是 res.body (或与此相关的其他东西)深度等于初始报告。
node.js - Mongoose Populate 用户返回 404(禁止)
我正在尝试在项目中填充用户数组,但我得到GET http://localhost:9000/api/users 403 (Forbidden)
(如果已登录)和GET http://localhost:9000/api/users 403 (Unauthorised)
(如果未登录)。所以我相当有信心我的问题是因为用户附加了身份验证,并且当我调用列表项目函数时。
我想要做的只是为每个项目获取一组用户,然后使用 objectid 使用用户名和 profile_image 填充该列表。
这是我所拥有的:
项目架构:
用户架构: