标签: mean-stack

用于MEAN应用的Yeoman子发电机?

我一直在玩Mean.IO(http://mean.io/),并想知道是否有一个Yeoman生成器(子生成器?),我可以用来自动生成跨越"实体"的代码整个堆栈.例如,在mean.io项目中有一个"文章"示例,其中包含与"文章"(模型,控制器,节点路由,角度路由/服务/控制器/视图)相关的7个组件.是否有一个生成器将为自定义实体创建这个"组件堆栈"?

例如,像:

哟meangenerator:实体'MyEntity'

然后会创建7个不同的文件,将'MyEntity'绑定到现有的MEAN应用程序中.

angularjs yeoman yeoman-generator mean-stack mean.io

4
推荐指数
1
解决办法
1442
查看次数

指定数据库时,Auth失败错误

我正在尝试mongodb从我的Web应用程序连接到.但是,auth failed error当我指定要连接的数据库时,我从mongo 获得了一个.如果我没有指定db,那么连接成功.

我检查了拼写以及数据库是否以mongo命令行退出 show dbs

var dbURI = 'mongodb://root:pwd@localhost:27017/dbname';
mongoose.connect(dbURI, function(err) {
    if (err) throw err;
});

C:\Users\David\Documents\Bitbucket\productWebsite\node_modules\mongoose\node_modules\mongodb\lib\mongodb\connection\base.js:245
        throw message;
              ^
MongoError: auth failed
    at Object.toError (C:\Users\David\Documents\Bitbucket\productWebsite\node_modules\mongoose\node_modules\mongodb\lib\mongodb\utils.js:114:11)
    at C:\Users\David\Documents\Bitbucket\productWebsite\node_modules\mongoose\node_modules\mongodb\lib\mongodb\db.js:1130:31
    at C:\Users\David\Documents\Bitbucket\productWebsite\node_modules\mongoose\node_modules\mongodb\lib\mongodb\db.js:1847:9
    at Server.Base._callHandler (C:\Users\David\Documents\Bitbucket\productWebsite\node_modules\mongoose\node_modules\mongodb\lib\mongodb\connection\base.js:445:41)
    at C:\Users\David\Documents\Bitbucket\productWebsite\node_modules\mongoose\node_modules\mongodb\lib\mongodb\connection\server.js:478:18
    at MongoReply.parseBody (C:\Users\David\Documents\Bitbucket\productWebsite\node_modules\mongoose\node_modules\mongodb\lib\mongodb\responses\mongo_reply.js:68:5)
    at null.<anonymous> (C:\Users\David\Documents\Bitbucket\productWebsite\node_modules\mongoose\node_modules\mongodb\lib\mongodb\connection\server.js:436:20)
    at emit (events.js:95:17)
    at null.<anonymous> (C:\Users\David\Documents\Bitbucket\productWebsite\node_modules\mongoose\node_modules\mongodb\lib\mongodb\connection\connection_pool.js:201:13)
    at emit (events.js:98:17)
Run Code Online (Sandbox Code Playgroud)

我正在使用Bitnami Mean stack for Windows

有人能告诉我我忘记了什么吗?

mongodb node.js mean-stack

4
推荐指数
2
解决办法
7518
查看次数

错误:发送后无法设置标头,只有在刷新页面后才会发生

每次我在路由'localhost:8080 /'刷新一个html页面或登录用户我都会收到此错误:发送后无法设置标题.据我所知,这个问题是由于两次意外调用的回调而发生的.该应用程序不会崩溃或任何东西,它只是在控制台上记录相同的错误.

这是代码.

var User        = require('../models/user');
var Story       = require('../models/story');
var jwt         = require('jsonwebtoken');
var config      = require('../../config');


var superSecret = config.secret;


module.exports = function(app, express) {

    // creating our first router
    var apiRouter = express.Router();

    // signup a user

    apiRouter.post('/signup', function(req, res) {

            var user = new User({
                name: req.body.name,
                username: req.body.username,
                password: req.body.password
            });

            user.save(function(err) {
                if(err) res.send(err);
                res.json({ message: 'User has been created!' });
            });
    });

    apiRouter.get('/users', function(req, res) {

        User.find({}, function(err, users) { …
Run Code Online (Sandbox Code Playgroud)

mongoose node.js mean-stack

4
推荐指数
1
解决办法
5197
查看次数

Passport Saml Loop

我正在尝试在nodejs/angularjs项目中使用Passport-Saml.js进行ADFS识别.

  1. 当我连接到我的网站时,我正确地重定向到我的ADFS门户.
  2. 验证后ADFS门户正确重定向到回调.
  3. 然后是回调循环.

Chrome控制台在循环播放时

我的路线(server.js):

app.post('/login/callback',
 function (req, res, next) {
  console.log('before');
  passport.authenticate('saml', function (err, user, info){
    console.log('good');

})(req, res, next);

});
Run Code Online (Sandbox Code Playgroud)

我认为它停止在passport.authenticate工作('saml',函数(错误,用户,信息){因为"之前"输出消息可以在控制台中看到,但也不是屏幕截图中看到的"好".控制台

我的护照配置(/config/passport.js):

var
 fs = require('fs')
 , passport = require('passport')
 , SamlStrategy = require('passport-saml').Strategy
;

passport.serializeUser(function (user, done) {
 done(null, user);
});
passport.deserializeUser(function (user, done) {
 done(null, user);
});

passport.use(new SamlStrategy(
{
  entryPoint: 'https://logon.XXX.com/adfs/ls/',
  issuer: 'urn:backpack-test',
  callbackUrl: ' https://backpack-test.XXX.com/login/callback',
  cert: 'MIIC6D...,
  authnContext:         'http://schemas.microsoft.com/ws/2008/06/identity/authenticationmethod/password',
  //acceptedClockSkewMs: -1,
  identifierFormat: null,
  //signatureAlgorithm: 'sha256'
},
function (profile, done) {
 return done(null, …
Run Code Online (Sandbox Code Playgroud)

adfs node.js mean-stack passport.js

4
推荐指数
1
解决办法
1239
查看次数

$ scope.uiGrid未定义

我正在尝试使用angularjs ui-grid创建一个表,但我不断被告知$ scope.uiGrid是未定义的,有谁能告诉我我做错了什么?

    requestYelp.success(
    function(obj) 
    {
        console.log(obj.businesses[0].name);

        $scope.gridOptions = {
            enableSorting: true,
            rowHeight:100,
            columnDefs: [
            { field: 'name' },
            { field: 'company'  },
            { field: 'image', cellTemplate:"<img width=\"50px\" ng-src=\"{{grid.getCellValue(row, col)}}\" lazy-src>"}
            ],

            data:[
            {name:obj.businesses[0].name,company: "Company1", image: obj.businesses[0].image_url},
            {name:obj.businesses[1].name,company:"Company2",image:obj.businesses[1].image_url},
            {name:obj.businesses[2].name,company:"Company3",image:obj.businesses[2].image_url}
            ]
        };
    }
);
}]);
Run Code Online (Sandbox Code Playgroud)

console.log(obj.businesses[0].name)将把正确的数据放到控制台上,这对obj变量来说不是问题.代码只有在进入gridOptions时才会中断.

javascript angularjs mean-stack angular-ui-grid

4
推荐指数
1
解决办法
3349
查看次数

文件未下载 express.js res.download

我已经生成/导出的xlsx使用文件json2xlsxNPM模块,并下载我使用的文件res.download(file)的功能express.js

参考:使用 Express 从 NodeJS 服务器下载文件

以下是我的代码:

var fs = require("fs");
var json2xls = require('json2xls');

app.use(json2xls.middleware);

app.get('/export/:id', function (req, res) {
    var id = req.params.id;
    db.collection('provider').findOne({_id: mongojs.ObjectId(id)}, function (err, doc) {
        var jsonArr = {};
        var arr = jsonArr = doc;
        var xls = json2xls(arr);
        fs.writeFileSync('data.xlsx', xls, 'binary'); //file exported

        //Now I want to download that file
        res.setHeader('Content-disposition', 'attachment; filename=data.xlsx');
        res.setHeader('Content-type', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
        res.download(__dirname + '/public/data.xlsx', function (error) {
          console.log(error);
        });

        //res.json(doc); …
Run Code Online (Sandbox Code Playgroud)

javascript excel node.js express mean-stack

4
推荐指数
1
解决办法
9635
查看次数

错误:[ngModel:numfmt] 预期 `1` 是一个数字 angularjs

我是 Angular.js 的初学者。

我正在尝试angular.js通过从mongodb. 我已经通过 excel 表将导入的数据存储在 mongodb 上,这就是为什么所有JSON值都以String格式存储的原因。

为了解决这个问题,我通过检查 JSON 对象的值来动态生成表单。

例如:如果值包含数字(“123456”),那么我将显示input type="number",如果值包含电子邮件,则input type="email"值包含 dob 然后datepicker等等..

以下是我的模板代码:

<div class="form-group" ng-repeat="(key,value) in providerList"  ng-if="!$first">                    
   <label>{{key.replace("_", " ") | uppercase}}</label>
   <div ng-if="providerList[key].length > 100">
   <textarea class="form-control" ng-model="providerList[key]"></textarea>
   </div>
   <div ng-if="providerList[key].length < 100 && !isNumeric(providerList[key]) && !checkEmail(providerList[key])">
   <input type="text" class="form-control" id='datepicker' ng-model="providerList[key]">        
   </div>

   <div ng-if="isNumeric(providerList[key])">                        
   <input type="number" class="form-control" ng-model="providerList[key]">        
   </div>

   <div ng-if="checkEmail(providerList[key])">                        
   <input type="email" class="form-control" ng-model="providerList[key]">        
   </div>
</div> …
Run Code Online (Sandbox Code Playgroud)

javascript json mongodb angularjs mean-stack

4
推荐指数
2
解决办法
2万
查看次数

模式的顺序在 Node.JS 中重要吗?

我即将为我刚刚构建的表单制作一个巨大的架构......据说我的架构顺序是否必须模仿表单顺序,或者它可以按照我将它们放入的任何顺序包含所有输入?下面举例。可以这样吗?

// link to mongoose
var mongoose = require('mongoose');

// define the article schema
var mapSchema = new mongoose.Schema({
created: {
   type: Date,
   default: Date.now
},
dd1: {
    type: String,
    default: ''
},
dd2: {
    type: String,
    default: ''
},
com1: {
    type: String,
    default: ''
},
com2: {
    type: String,
    default: ''
}
});

// make it public
module.exports = mongoose.model('Map', mapSchema);
Run Code Online (Sandbox Code Playgroud)

或者它必须是这样的?

// link to mongoose
var mongoose = require('mongoose');

// define the article schema
var mapSchema = …
Run Code Online (Sandbox Code Playgroud)

javascript schema mongodb node.js mean-stack

4
推荐指数
1
解决办法
367
查看次数

npm install jquery error/saveError ENOENT/Invalid dependency

我无法解决此问题.我四处寻找但没有到达任何地方.我刚开始学习MEAN Stack.我正在尝试安装Stack的所有组件.(我目前为Python Stack和Ruby Stack安装了程序).不确定这些是否与我的问题有关.我还是编程新手.任何信息,将不胜感激.

这是我目前正在运行的:

  • MacOS Sierra v10.12.5
  • 节点v8.0.0
  • npm v5.0.0

我安装了:

$ npm install nodemon
Run Code Online (Sandbox Code Playgroud)

(-g)..global给了我一个问题所以我安装没有它.

$ npm install bower
Run Code Online (Sandbox Code Playgroud)

(-g)..global也给了我一个问题所以我安装没有它.

然后当我尝试安装时:

$ npm install jquery
Run Code Online (Sandbox Code Playgroud)

我收到了错误.这是它说的..

npm WARN saveError ENOENT: no such file or directory, open '/Users/jaepark75/package.json'  
npm WARN enoent ENOENT: no such file or directory, open  '/Users/jaepark75/package.json'  
npm WARN jaepark75 No description  
npm WARN jaepark75 No repository field.  
npm WARN jaepark75 No README data  
npm WARN jaepark75 No license field.  
npm WARN jaepark75 Invalid dependency: …
Run Code Online (Sandbox Code Playgroud)

macos ubuntu jquery node.js mean-stack

4
推荐指数
1
解决办法
4019
查看次数

保持节点在后台运行的最佳方法是什么 - nohup vs. forever vs. pm2?

我已经阅读了很多关于使用nohup,forever和pm2保持节点在后台运行的帖子.但我仍然不确定哪个是最佳选择,并希望得到一些指导.

背景 - 在使用Ubuntu版本16的Apache服务器上运行MEAN堆栈应用程序.App.js位置是/ var/www /.当我退出终端时,我正在使用永远使应用程序在后台运行.我明白,如果我使用nohup,命令就是

nohup node /var/www/<project_name>/app.js > stdout.txt 2> stderr.txt &
Run Code Online (Sandbox Code Playgroud)

我想要确保的是,无论1)我如何退出终端(通过键入exit或只是单击右上角的X)和2)部署应用程序的操作系统,没有后台服务将以某种方式终止当我退出终端时,这会破坏我的应用程序.为此,运行应用程序的最佳方法是什么?nohup,forever还是pm2?我也明白有些人永远偏爱pm2.pm2提供什么比永远不提供?

nohup node.js forever mean-stack pm2

4
推荐指数
1
解决办法
559
查看次数