Tag: angularjs

AngularJS,Node.js,ExpressJS应用程序集成问题

我已经使用Node.js和ExpressJS创build了一个RESTful服务。 现在我想实现View部分。 为此,我select了AngularJS。 这里的问题是,我不知道如何组织文件夹结构,以及如何整合AngularJS与Node.js和ExpressJS。 我观看了这个video,但是没有示例源代码可用。 让我们来获取CRUDdy:AngularJS和Node.js Ferrari示例 项目文件夹结构 ExpressJS文件 var express = require('express'), http = require('http'), path = require('path'), photos = require('./routes/photos'); var app = express(); app.configure(function () { app.use(express.logger('dev')); /* 'default', 'short', 'tiny', 'dev' */ app.use(express.bodyParser()); app.use(app.router); }); app.get('/photos', photos.findAll); app.get('/view1', photos.index); AngularJS: // Declare app level module which depends on filters, and services […]

未findnpm:命令。 节点已安装时如何重新安装NPM? NPM去了哪里?

我开始学习使用AngularJS教程构build现代Web应用程序,并且很早就遇到了问题。 我有节点安装: /path/ang-news node -v v0.10.26 早些时候我在使用NPM,但是和Yeoman一起遇到了麻烦。 我已经重复了这些步骤,但Grunt停止工作,所以我开始新鲜。 我跑了: $ sudo npm install -g generator-angular 和所有的依赖关系正在安装,直到我收到: npm WARN package.json mongo@0.1.0 No repository field. npm ERR! peerinvalid The package generator-karma does not satisfy its siblings' peerDependencies requirements! npm ERR! peerinvalid Peer generator-angular@0.9.1 wants generator-karma@>=0.8.2 然后我尝试更新: $ npm update -g 我应该以pipe理员身份运行它。 我收到了大量的错误信息,这似乎是最相关的: npm ERR! Please try running […]

使用expressjs时,下载的.pdf文件已损坏

我正在使用https://github.com/DaftMonk/generator-angular-fullstack生成的meanjs应用程序。 我正在尝试使用phantomjs生成.pdf文件并将其下载到浏览器。 问题是,无论页面数量多less,下载的.pdf文件总是显示空白页面。 服务器上的原始文件没有损坏。 当我进一步调查时,发现下载的文件总是比磁盘上的原始文件大得多。 此外,这个问题只发生在.pdf文件中。 其他文件types工作正常。 我已经尝试了几种方法,如res.redirect('http://localhost:9000/assets/exports/receipt.pdf'); , res.download('client\\assets\\exports\\receipt.pdf') , var fileSystem = require('fs'); var stat = fileSystem.statSync('client\\assets\\exports\\receipt.pdf'); res.writeHead(200, { 'Content-Type': 'application/pdf', 'Content-Length': stat.size }); var readStream = fileSystem.createReadStream('client\\assets\\exports\\receipt.pdf'); return readStream.pipe(res); 甚至我已经尝试了https://github.com/expressjs/serve-static没有改变的结果。 我是nodejs 。 将.pdf文件下载到浏览器的最佳方法是什么? 更新:我在Windows 8.1 64位计算机上运行此

AngularJS – 显示/隐藏导航项目,如果用户login

我有一个单页的AngularJS应用程序,通过Mongoose与Express,node.js和MongoDB一起工作。 使用Passport进行用户pipe理/authentication。 我希望导航栏项目根据用户是否login进行更改。 我很难搞清楚如何实现它。 我发现用户是否通过http请求login: server.js app.get('/checklogin',function(req,res){ if (req.user) res.send(true); else res.send(false); 在前端,我有一个NavController使用Angular的$http服务调用它: NavController.js angular.module('NavCtrl',[]).controller('NavController',function($scope,$http) { $scope.loggedIn = false; $scope.isLoggedIn = function() { $http.get('/checklogin') .success(function(data) { console.log(data); if (data === true) $scope.loggedIn = true; else $scope.loggedIn = false; }) .error(function(data) { console.log('error: ' + data); }); }; }; 在我的导航中,我正在使用ng-show和ng-hide来确定哪些select应该可见。 当用户点击导航项时,我也触发了isLoggedIn()函数,检查用户是否每次点击都login。 的index.html <nav class="navbar navbar-inverse" role="navigation"> […]

MEAN堆栈file upload

我最近开始用MEAN Stack进行编程,而且我正在实现某种社交networking。 一直在使用MEAN.io框架来做到这一点。 我现在的主要问题是让file upload工作,因为我想要做的就是将文件从表单接收到AngularJS Controller中,并将其传递给ExpressJS,以便我最终可以将所有内容发送到MongoDB。 (我正在build立一个注册新的用户表单)。 我不想将文件本身存储在数据库中,但我想存储一个链接。 我search了几十页在不同的search查询谷歌,但我找不到任何我可以理解或工作。 一直在寻找几个小时,没有结果。 所以我来到这里 谁能帮我这个? 谢谢 :) 编辑:也许有点代码会帮助理解。 我正在使用的默认MEAN.io用户angular度控制器有这样的: $scope.register = function(){ $scope.usernameError = null; $scope.registerError = null; $http.post('/register', { email: $scope.user.email, password: $scope.user.password, confirmPassword: $scope.user.confirmPassword, username: $scope.user.username, name: $scope.user.fullname })//… has a bit more code but I cut it because the post is the main thing here. […]

我该如何补救“错误:无法find模块”subprocessclosures“”?

我像往常一样去做生意,即将结账发电机 – angular – 满塔。 我没有得到红色的错误,但在最后的消息说Error: Cannot find module 'child-process-close' 。 我尝试了很多事情,卸载节点,重新安装,手动删除本地和/或全局path中的文件和目录,并试图确保Homebrew是安装一切的人,不知何故我做得更糟。 (另外,我最初也看到了关于业力的错误,一切看起来都是正确的,但是通过投掷命令似乎没有什么好处。) 我很茫然。 所有的stackoverflow问题已被点击,恐怕我可能已经尝试了太多的build议。 我不能安装任何Yeoman发电机。 我不能用npm安装任何东西。 当我运行npm install时,在项目目录里面会引发错误。 我真的不知道。 有没有办法基本上可以一起开始呢? 一个简单的卸载和安装不会削减它。 系统中的某些东西需要改变,但我不知道是什么。 有任何想法吗? 编辑 我没有一个完整的列表来说明如何让Node返回正常工作状态,但是这个Homebrew问题真的很有帮助。 我不知道我的权限是如何失控的,这可能是我自己的错。 虽然这并没有解决所有问题,但我还是得到了closuressubprocess的错误。 看看NPM的github上的问题,我发现这个 ,它告诉如何手动删除package.tgz。 短是运行rm /Users/tylersloan/.npm/connect/2.8.8/package.tgz 。 中提琴!

量angular器页面对象inheritance

鉴于我build立我的angularjs量angular器e2etesting套件利用页面对象模式。 而且我把页面目标代码分开放在不同的文件中。 什么是一个好的方法来启用页面对象的inheritance? JavaScript的经典inheritance? 基于Object.create()的inheritance? 其他? 我应该在页面对象内保持期望吗? 还是赞成Martin Fowler 把他们转到断言库 ? 在这种情况下,看起来像这个javascript-nodejs技术堆栈究竟如何? 我在这里准备了一个活的jsfiddle操场,所以你可以尝试你的改进。 或者只是在答案中粘贴代码,我会粘贴下面的jsfiddle内容以求清晰: loginPage.js "use strict"; // A Page Object is a Singleton, so no need to constructors or classic js inheritance, // please tell me if I'm wrong or what's the utility of creating a (new LoginPage()) // every time a spec need […]

使用Mongoose,Express和AngularJS上传图片

我知道这个问题以前已经被问过很多次了,而且我几乎可以读到关于这个问题的所有东西,比如: https://stackoverflow.com/a/25022437/1031184 使用Node.js,Express和Mongoose上传图像 这些是迄今为止我发现的最好的。 我的问题是,他们还不是很清楚,关于这方面的文档很less,而且讨论似乎针对那些比我更先进的人。 所以,如果有人可以请我走,但如何使用Mongoose,Express&AngularJS上传图片,我真的会喜欢它。 我实际上正在使用平均满量程。 (这个生成器是精确的 – https://github.com/DaftMonk/generator-angular-fullstack ) AddController: 'use strict'; angular.module('lumicaApp') .controller('ProjectAddCtrl', ['$scope', '$location', '$log', 'projectsModel', 'users', 'types', function ($scope, $location, $log, projectsModel, users, types) { $scope.dismiss = function () { $scope.$dismiss(); }; $scope.users = users; $scope.types = types; $scope.project = { name: null, type: null, images: { thumbnail: null // […]

使用Node.js在HTML5mode中进行angular度路由

我知道还有其他答案,但他们似乎有警告。 这个会导致一个redirect ,这对我的使用Mixpanel的前端应用程序来说可能是致命的,在浏览器中双重载入Mixpanel会导致Maximum Call Stack Size Exceeded错误。 这个使用我个人无法工作的sendFile 。 试图诊断,我只是build议使用express.static() 。 目前我的代码如下所示: home.js – 一些路线,最后一个打算成为前端网站。 var indexPath = path.resolve( __dirname, '../' + process.env.PUBLIC_FOLDER ) router.get( '/:user/:stream/:slug', function( req, res, next ) { if ( req.headers['user-agent'].indexOf( 'facebook' ) != -1 ) { // stuff to handle the Facebook crawler } else return next() }) router.get( '/*', […]

使用带有nodeJS和Express的AngularJS html5mode

我正在使用Express的nodeJS服务器来服务我的AngularJS应用程序。 这一切工作正常,当我使用angularJS默认路由(hashbangs),但现在我试图激活html5模式。 我正在像这样激活html5mode: $locationProvider.html5Mode(true).hashPrefix('!'); 这就是我的nodeJS app.js文件的样子: var path = require('path'), express = require('express'), app = express(), routes = require(path.join(__dirname, 'routes')); app.configure(function() { app.use(express.logger('dev')); app.use(express.compress()); app.use(express.methodOverride()); app.use(express.bodyParser()); app.use(app.router); app.all("/*", function(req, res, next) { res.sendfile("index.html", { root: __dirname + "/../app" }); }); app.use(express.errorHandler({ dumpExceptions: true, showStack: true })); }); 然而,这现在作为我的index.html文件服务于所有请求,所以我从requireJS得到以下错误: Uncaught SyntaxError: Unexpected token < 我试着将下面的内容添加到我的nodeJS app.js以便正确地为我的资源提供服务: […]