标签: meanjs

如何安全地删除使用yo构建的CRUD模块(mean.js)

如何安全地删除内置的CRUD模块yo meanjs:crud-module <module-name>

删除文件夹和服务器文件是否足够?

crud mean-stack meanjs

7
推荐指数
1
解决办法
2584
查看次数

从客户端控制器(MEAN.JS)指定Mongo查询参数

我正在使用MongoDB,Angular,Express和Node(MEAN堆栈)构建应用程序.

我使用MEAN.JS生成器来构建我的应用程序.

我将使用文章模块作为参考.

假设我的文章集合中有7000条记录,并且每条记录都有一个与之关联的日期.每次加载页面以查看表中的记录时,将所有7000条记录加载到内存中是低效的,因此我看到了可怕的性能损失.出于这个原因,我只想加载日期范围为(1个月前)到(从现在起1年)的记录,并将其显示在表格中.我目前可以通过以下方式执行此操作:

在我的articles.client.controller.js中:

$scope.find = function() {
        $articles = Articles.query();
};
Run Code Online (Sandbox Code Playgroud)

...在我的articles.server.controller.js中:

var now = new Date();
var aYearFromNow = new Date(now.getTime() + 86400000*365); //add a year
var aMonthAgo = new Date(now.getTime() - 86400000*30); //subtract roughly a month

exports.list = function(req, res) { Article.find().where('date').lt(aYearFromNow).gt(aMonthAgo).sort('-created').populate('user', 'displayName').exec(function(err, articles) {
        if (err) {
            return res.send(400, {
                message: getErrorMessage(err)
            });
        } else {
            res.jsonp(articles);
        }
    });
};
Run Code Online (Sandbox Code Playgroud)

问题是,这不是一种动态的做事方式.换句话说,我希望用户能够指定他们想要看到多远和多远.

如何在我的客户端视图中绑定变量(例如'aYearFromNow'和'aMonthAgo'),这将改变我的服务器控制器中的查询参数?

javascript mongodb express angularjs meanjs

7
推荐指数
2
解决办法
3874
查看次数

MEANJS样板:在哪里包含自定义javascript文件?

我开始使用Mean JS样板(ref网站),并想知道推荐的位置包括公共自定义javascript,jQuery文件(例如FacebookSDK,jQuery动画,......).

我假设它将在公共文件夹中的某个位置.默认结构如下:在此输入图像描述

应该进入模块还是lib文件夹?您能否就每个文件夹的功能提供更多指导?任何准则?

javascript angularjs meanjs

7
推荐指数
1
解决办法
1267
查看次数

如何使用Oauth请求提交和处理请求参数?

我正在使用MeanJS堆栈来开发Web应用程序.我遇到的问题是,我的常规注册过程有一些Oauth用户配置文件不常见的独特参数.因此,当我让用户去注册Facebook时,我将它们移动到一个新的注册表单,让他们填写额外的参数,然后点击"注册Facebook".

这些路由与此处的常见MeanJS路由相同:https: //github.com/meanjs/mean/blob/master/app/routes/users.server.routes.js

特别是这些线:

app.route('/auth/facebook').get(passport.authenticate('facebook', {
    scope: ['email']
}));

app.route('/auth/facebook/callback').get(users.oauthCallback('facebook'));
Run Code Online (Sandbox Code Playgroud)

我想做的是,将额外的参数附加到请求对象,以便当auth进程到达exports.saveOAuthUserProfile内部时:https://github.com/meanjs/mean/blob/master/app/controllers/users /users.authentication.server.controller.js 此函数将能够访问这些参数并将其保存为用户模型的一部分.

我已经尝试将参数附加到Get请求和访问

req.params.paramId

但这不起作用,因为你不能用facebook api注册一个param加载的请求(或者至少看起来就是这样).

我已经在StackOverflow的其他地方读过你可以加载请求状态,但这对我来说似乎很奇怪.这是以下链接:Facebook OAuth:自定义callback_uri参数

所以,关于如何将额外数据加载到Oauth请求的任何指导,以便当我保存用户配置文件时我可以访问并保存它,这将是很好的.

多谢你们.

oauth node.js facebook-graph-api express meanjs

7
推荐指数
1
解决办法
180
查看次数

猫鼬和浮动值

我的lat&lng数字正在转换为字符串.我的部分整数仍然是Number的正确数据类型.如何设置模型以便我可以将我的lat&lng作为Float而不是String返回?

我在我的数据库中存储latLng数据.现在我将我的数据类型设置为Lat和lng的数字.当我检查我的数据库时,我看到了这个:

{
  "_id" : ObjectId("563bd98a105249f325bb8a7e"),
  "lat" : 41.8126189999999980,
  "lng" : -87.8187850000000054,
  "created" : ISODate("2015-11-05T22:34:50.511Z"),
  "__v" : 0,
  "section" : 0,
}
Run Code Online (Sandbox Code Playgroud)

但是当我使用快递我的数据时,我得到了这个:

{
  "_id": "563bd98a105249f325bb8a7e",
  "lat" : "41.8126189999999980",
  "lng" : "-87.8187850000000054",
  "__v": 0,
  "section" : 0,
  "created" : "2015-11-05T22:34:50.511Z",
}
Run Code Online (Sandbox Code Playgroud)

我的模特:

var WaypointSchema = new Schema({
    lat: {
        type: Number
    },
    lng: {
        type: Number
    },
    section: {
        type: Number
    }
    created: {
        type: Date,
        default: Date.now

    }
});

mongoose.model('Waypoint', WaypointSchema);
Run Code Online (Sandbox Code Playgroud)

快速控制器:

exports.list = function(req, res) { 
    Waypoint.find().sort('-created').populate('user', 'displayName').exec(function(err, …
Run Code Online (Sandbox Code Playgroud)

mongodb node.js express meanjs

7
推荐指数
1
解决办法
1万
查看次数

registerModule具有依赖项

我正在用MEAN.JS构建一个应用程序,我正在尝试使用另一个模块的控制器.我发现我可以通过依赖注入来做到这一点:

angular.module(‘MyModule’, [‘Dependency’]);
Run Code Online (Sandbox Code Playgroud)

但是在MEAN.JS中创建模块的方式是:

ApplicationConfiguration.registerModule('MyModule');
Run Code Online (Sandbox Code Playgroud)

我不能只传递第二个参数registerModule.那么,我该怎么做呢?我必须使用这两种方法吗?我做错了吗?



我想添加一个新模型:Campaign.Campaigns仅由管理员创建,但可以由"广告系列所有者"(另一个User)查看.创建活动表单应列出可用的用户,以便管理员可以选择那个将成为其"所有者"的用户Campaign.
问题是,创建活动表单是由谁控制的CampaignsController,我该如何列出Users?我已经使用了另一个控制器(UsersController),这就是问题,因为我们在Campaign模块中,所以它是未定义的.


编辑:

问题是grunt自动启动应用程序错误:
我将控制器从一个模块(文件夹)移动到另一个,但是grunt仍在尝试从旧路径加载它,因此失败:未找到控制器.我认为问题是依赖注入,但你只需关闭grunt(Ctrl + C)并再次运行它.问题解决了.
无论如何,感谢@gilBirman的答案,因为它是正确的:没有必要向MEANJS注入任何东西.

angularjs mean-stack meanjs

6
推荐指数
1
解决办法
3316
查看次数

我应该在哪里添加mean.js中的模块依赖项(对于ng-sortable)

我正在尝试将ng-sortable添加到我的mean.js应用程序中.https://github.com/a5hik/ng-sortable

按照安装说明并将它们调整为mean.js我包含了js和css文件(正确加载),但我倒下的地方是添加模块依赖项:

并将可排序模块注入依赖项.

angular.module('xyzApp', ['ui.sortable', '....']);
Run Code Online (Sandbox Code Playgroud)

我的angularjs控制器看起来像这样:

var listers_mod = angular.module('listers');
listers_mod.controller('PagesController', ['$scope', '$http', '$stateParams', '$location',  'Authentication',
    function($scope, $http, $stateParams, $location, Authentication) { ... }
]);
Run Code Online (Sandbox Code Playgroud)

我的第一次尝试是在上面的控制器文件中添加ui.sortable:

var listers_mod = angular.module('listers', ['ui.sortable']);
Run Code Online (Sandbox Code Playgroud)

显然这不起作用.正如你可能会说我对于mean.js和MEAN堆栈一般都很新,所以我在这个问题上瞎磕绊绊.我试着在谷歌上搜索,当然在这里搜索,但我找不到任何对我有任何意义的答案.

欢迎任何帮助.

angularjs mean-stack meanjs

6
推荐指数
1
解决办法
7777
查看次数

在mean.js完整堆栈javascript应用程序上的搜索引擎优化仍然是一个主要问题,应该如何处理

我正在研究我的第一个完整的堆栈javascript应用程序,特别是使用mean.js作为我的起点,我已经开始变得紧张,并且在搜索引擎优化(SEO)问题上有些困惑.

Googles最近的努力(在过去一年左右),改进javascript抓取提出这是一个非问题,或者这是我在项目的规划和结构中需要考虑的事情?

如果Google现在可以抓取AngularJS/Ajax重型应用程序,为什么我们会收到有关SEO问题解决方案的博客文章:http: //blog.meanjs.org/post/78474995741/mean-seo

  • 这种解决方案是否必要.
  • 这在SEO方面是否与服务器端渲染一样有效.
  • 哈希爆炸(#!)是一个必要的邪恶或纯粹的邪恶.

我之前已经问过关于SEO和AngularJS的问题了,但是在这个问题上似乎有很多不同的意见我迷失了,并且有一些更具有意义的想法会更好.我主要担心的是:

  • 如果构建一个angularjs繁重的实现将使其成为SEO黑洞.
  • 如果我最终将在静态文件中再次构建整个项目,仅用于SEO
  • 如果我需要查看服务器端渲染解决方案.

javascript express angularjs mean-stack meanjs

6
推荐指数
1
解决办法
1745
查看次数

Node.js多平台项目结构

设置node.js的最佳项目结构真的令人困惑我正在开发适用于Browser,Mobile和Desktop的node.js应用程序.该应用程序有许多模块,如计费,支持,仪表板等.

我开始使用express.js MVC模式,后来Sails.js看起来很有吸引力.然后遇到了MEAN Stack,最后登陆了Microservices Seneca.js

微服务看起来像我需要的,但我看到Sails.js不支持它.我想使用Aerospike NoSQL,但waterline orm现在不支持它.

那么,您在用于Browser,Mobile和Desktop的node.js中使用的项目结构解决方案是什么?

node.js express sails.js waterline meanjs

6
推荐指数
1
解决办法
547
查看次数

安装MongoDB standalone或通过npm有什么区别?

我是MEAN的新手,只是去了一些往返(半天安装和卸载MEAN以及它的一切?)并且不想再这样做了.

我在Windows8上安装的MongoDB正在运行,已经构建为Windows服务.然而,然后我看到有一个叫做的东西npm install mongodb.我现在不知道该怎么办.

使用已经安装的默认MongoDB作为Windows服务与运行有区别npm install mongodb吗?

如果MongoDB此时用于MEAN堆栈构建,我该怎么办,但我也希望它打开并可能用于其他目的.

mongodb node.js npm mean-stack meanjs

6
推荐指数
1
解决办法
682
查看次数