Tag: 表示

如何正确地连接控制器和接口?

我无法实现接口的方法,我得到错误ReferenceError: INew is not defined 我有以下文件: /services/newService.ts /controllers/NewController.ts /interfaces/INew.ts /repositories/NewRepository.ts 1个新的服务 import express = require("express"); import NewController = require("../controllers/NewController"); var router = express.Router(); class NewRoutes { private _newController: NewController; constructor () { this._newController = new NewController(); } get routes () { var controller = this._newController; router.get("/new", controller.retrieve); return router; } } Object.seal(NewRoutes); export = NewRoutes; […]

在Express.js中间件中审计

我正在寻找通用的方式来审计我为某些API编写的快速中间件。 我已经想出了几种做法,但对我来说似乎没有什么效率。 现在我只想login到控制台或日志文件,但后来我会看数据存储。 我可以很容易地在API路由中使用“日志”库(如bunyan)来执行此操作。 但是这意味着我必须在任何我想要审计的地方调用日志loggingfunction。 使用片段中给出的中央function来执行日志logging。 这是loggingAPI请求/响应的好方法,但对审计关键信息(如从用户注册审计用户标识)没有帮助。 或者在用户login时审核电子邮件地址。 function auditUserAction(apiFunction) { function jsonWrapper(funcToWrap, userAction) { return function() { userAction.jsonResponse = arguments[0]; return funcToWrap.apply(this, arguments); } } return function() { req = arguments[0]; res = arguments[1]; // Overriding json method so we can capture the json response res.json = jsonWrapper(res.json, userAction); userAction.url = req.url; userAction.userId = […]

何时应该使用error handling中间件function

在示例A中捕获中间件function中的错误和响应的优点是什么? 例子A function(req, res, next) { if (err) { err.message = 'Not Found'; res.status(404).json(err); return; } } 将错误传递给error handling中间件,如例B所示。 例子B function(req, res, next) { if (err) { var err = new Error('Not Found'); err.status = 404; next(err); } } error handling中间件: app.use(function(err, req, res, next) { res.status(err.status || 500); res.json({message: "error"}); });

节点js表示安装错误'EACCES','没有这样的文件'

我试图安装使用terminal快递,但我不断收到此错误消息。 我不熟悉terminal,我不知道如何解决这个问题。 camila-ui-MacBook-Pro:myapp camila$ sudo chown -R $camila /usr/local usage: chown [-fhv] [-R [-H | -L | -P]] owner[:group] file … chown [-fhv] [-R [-H | -L | -P]] :group file … camila-ui-MacBook-Pro:myapp camila$ npm install npm WARN locking Error: EACCES: permission denied, open '/Users/camila/.npm/_locks/staging-ecf78f8592840908.lock' npm WARN locking at Error (native) npm WARN locking /Users/camila/.npm/_locks/staging-ecf78f8592840908.lock […]

无法读取ckeditor angularjs2的属性“无法select”null

我加载ckeditor时出现此错误。 我有导入ng2-ckeditor,也成为一个指令。 加载了一个js fileusinf belove代码。 window['CKEDITOR_BASEPATH'] = '//cdn.ckeditor.com/4.5.9/standard/'; require('ckeditor'); 我仍然收到错误。 TypeError:无法读取null的属性'unselectable'

渲染页面,同时使http请求expression

嗨,我是一个快速的noob ….我有一个API的页面,这是所有的工作,但我想要的是一旦用户点击路线,我会显示一个加载页面,消灭了API的HTTP请求那么一旦成功redirect/渲染结果页面。 据我了解,你不能在同一条路线上使用res.render两次? 也许我们的好友next(); 可以帮忙吗? 这是我迄今为止: router.get('/lookup/post/:url', function(req, res){ // Render the loading page…? res.render('loading'); Lookup.post(req.params.url, function(err, result){ if(err){ }else{ // …Then once the api lookup comes back ok redirect or render the results page? res.render('results', { posts : result.store.postData.posts[0], votes : result.store.voteData }); } }); });

在node.js中需要process.env?

我有一个.env文件,它有 ABC='abc' 当我在我的app.js中process.env.ABC ,我可以得到abc值。 我如何要求在我的模型文件中使用它? 我在我的模型文件中做了同样的事情process.env.ABC ,它没有定义。 我假设我必须要求吗?

如何在mssql节点模块中处理SQL注入

在Expressjs项目中,我使用https://www.npmjs.com/package/mssql连接到Microsoft SQL Server并尝试执行存储过程。 根据mssql文档( https://www.npmjs.com/package/mssql#sql-injection )将处理所有的SQL注入,我认为它没有发生。 有人可以帮助我如何处理SQL注入在这个节点模块? var sql = require('mssql'); var dbConfig = {}; var Connection = new sql.Connection(dbConfig); Connection.connect().then(function(_connection){ var request = new sql.Request(_connection); request.verbose = true; request.input('username', 'patriksimek'); request.input('password', 'delete from dbo.Users where userId =1'); request.input('attempts', 2); request.execute('my_stored_procedure'); }) 提前致谢

如何将parameter passing给MEAN.js包的express.js服务器端路由。

我是一个初学者,在一个由mean.js构build的项目上工作。 我仍然试图弄清楚整个项目结构是如何工作的,而且我有点卡住了。 目前,我有两个crud模块。 一个项目模块和一个应用程序模块。 用户应该能够应用于项目。 在某个项目下,我应该可以查看所有的应用程序,然后接受/拒绝它们。 我在angular度$资源上添加了一个自定义方法 function ProjectApplicationsService($resource) { return $resource('api/projects/:projectId/applications', { projectId: '@_id' }, { accept: { method: 'PUT' }, reject: { method: 'PUT' } }); } 一旦我点击某个应用程序对应的button,就会触发该函数,并将应用程序ID作为参数传入。 function acceptApp(applicationID){ vm.application._id = vm.project._id; vm.application.app_id = applicationID; vm.application.$accept(successCallback, errorCallback); function successCallback(res) { console.log("success"); } function errorCallback(res) { vm.error = res.data.message; console.log(vm.error); } } 这应该使一个API调用来expression,这里是路由 […]

Angular2 Webpack和Express

我已经安装了Angular 2 Webpack,其中包含一个示例应用程序并演示路由。 我想研究的是使用Angular2作为前端路由,但使用ExpressJS作为RESTful API后端,但在同一台服务器上 http:// localhost:3000 /#/将在Angular http:// localhost:3000 / api服务于前端,将在后端API 如果我创build一个api / index.html,我可以看到这显示了api主页,但我还没有得到一个线索如何创build“app.js”expression快速路由工作。 我很欣赏我可以轻松地通过运行两个实例来做到这一点,但我试图保持一切。 问候