Articles of kraken.js

如何在Kraken JS中创build全局variables

我希望能够不断的像 var BASE_URL = 'http://example.com'; 并使其可以在我所有的kraken JS控制器中访问。 我应该在哪里定义这个? 谢谢。

节点JS错误,当我运行“npm开始”,也许KrakenJS?

当我尝试使用“npm start”运行我的应用程序时,会引发此错误。 我已经更新了节点和NPM,但错误仍然抛出这个错误。 我想知道他们是否是KrakenJS的问题? 提前致谢 > node server.js Mon, 11 Apr 2016 13:41:08 GMT uncaughtException listen EADDRINUSE :::8000 Error: listen EADDRINUSE :::8000 at Object.exports._errnoException (util.js:890:11) at exports._exceptionWithHostPort (util.js:913:20) at Server.__dirname.Server.Server._listen2 (net.js:1230:14) at listen (net.js:1266:10) at Server.__dirname.Server.Server.listen (net.js:1362:5) at Object.<anonymous> (/Users/…/server.js:14:8) at Module._compile (module.js:413:34) at Object.Module._extensions..js (module.js:422:10) at Module.load (module.js:357:32) at Function.Module._load (module.js:314:12) npm ERR! Darwin […]

在Krakenjs应用程序中,file upload与Multer挂起

我在Nodejs Kraken应用程序中使用Muller(^ 0.1.6)来上传文件。 我查看了npm上的multer文档,看起来使用这个模块进行file upload非常简单。 但是我一直在上传本地机器上的文件时遇到问题。 有趣的是,我注意到文件被上传,但是我的服务器挂起,并且控件永远不会到负责呈现下一页的应用程序中的下一个中间件。 我也注意到,当服务器挂起时,它试图再次上传文件,最后超时说“没有数据收到”。 由于试验员的重试,我看到上传了同一文件的两个副本。 这是我使用multer模块的kraken应用程序代码: index.js(与package.json相同级别的root级别index.js) … ….. app = module.exports = express(); app.use(kraken(options)); app = module.exports = express(); app.use(kraken(options)); app.on('start', function () { console.log('Application ready to serve requests.'); console.log('Environment: %s', app.kraken.get('env:env')); }); app.use(multer({ dest: '/Users/abc/temp/fileuploads', limits: { fieldNameSize: 500, files: 2, fields: 5 }, rename: function (fieldname, filename) { […]

如何使用中间件在krakenjs中的特定路线?

在部署的中间件示例中 ,中间件与以下的kraken一起使用 // index.js … app.requestBeforeRoute = function requestBeforeRoute(server) { server.use(millionsServed()); … }; 但这样,中间件就应用于应用中的所有路由。 假设我只想将它应用于特定的路线,就像这样expression: app.get('/user', helpers.ensureAuthenticated, userCtrl.index); 我怎样才能跟克拉肯一样?

如何定义相对于kraken.js中的url的语言环境?

我已经按照kraken.js的例子来为我的网站获取i18n。 所以现在,每个设置语言都会呈现一个模板文件。 例如:index.dust可以使用法语,英语和荷兰语。 我现在想要实现的是,如果用户去: <site>/accueil -> website in french <site>/home -> website in english 等等。 kraken.js示例依赖于Cookie。 但是,如果用户第一次来,即使他带有英文url,实际configuration也会以法语(默认语言环境)呈现页面。 我想过每个路线的数组:locale(/ accueil,/ home,/ startseite等)来定义的地方,但这是远离干净的代码PLUS我将不得不手动编辑添加的每个页面的数组。 有没有人有更好的主意? 谢谢。

NTVS未在我指定的端口上运行节点服务

端口8010在app.json中指定,运行node index.js在端口8010上启动服务。每次启动服务时,NTVS都会在随机分配的端口上启动它。 我没有什么经验,但最近已经给了一个大型的Nodejs / Express / Kraken / Angular代码库。 我做的第一件事是安装NTVS(Visual Studio的节点工具) 为什么? 因为Visual Studio是我熟悉的 我从现有的源创build了一个新的项目,启动代码,它运行并工作, 但是每次都从一个不同的随机分配的端口号开始。 然后我在Projectsconfiguration中添加了节点和debugging端口的值 这将启动侦听该端口的debugging器 但应用程序将开始在不同的端口 如果我以释放模式运行,debugging器仍然在8001上启动,服务开始监听一些不是8000或8010的随机端口。 所以,我试着运行没有在项目设置中指定的端口 ,并在项目设置中的端口 。 任何人有任何想法,我需要做的,以app.json指定的端口上启动应用程序开始? 谢谢 更新 该应用程序正在使用Kraken。 Kraken似乎从app.json和app-development.json文件中取得了端口configuration。 这一切都运行正常,当节点运行,甚至通过WebStorm(我有一个评估版) index.js中用于启动应用程序的代码不会直接将端口传递给kraken kraken.create(app).listen(function (err) { if (err) { var log = require('log4js').getLogger(loggerName); log.error(err.stack); } 应用程序对象有一个configuration方法,但这似乎没有做任何事情与端口。

带数组的多部分/表单数据

我有一个简单的表单: <form method="post" action="/test"> <input type="hidden" name="arr[]" value="val1"> <input type="hidden" name="arr[]" value="val2"> <input type="hidden" name="arr[]" value="val3"> <input type="submit" value="Submit"> </form> 与控制器: //… server.post('/test', function(req, res) { res.json(req.body); }); //… 这返回罚款: { arr: [ "val1", "val2", "val3" ] } 但是,当我将enctype更改为multipart / formdata <form method="post" action="/test" enctype="multipart/form-data"> <input type="hidden" name="arr[]" value="val1"> <input type="hidden" name="arr[]" value="val2"> <input type="hidden" […]

如何在我的生产服务器上部署KrakenJs

我想部署我的KrakenJS项目。 我用grunt来构build项目,并在.build目录下得到输出。 我不确定从这里做什么。 我应该打包完整的项目,并使用npm start在服务器上运行它,还有什么我应该做的构build结果。 任何帮助将不胜感激。 谢谢