Express.js res.render点名文件

如何在express.js中的res.render()上使用点命名文件? 例如, 有一个名为view.sample.ejs模板文件,我想要渲染它 app.get('/sample', function(req, res){ res.render('view.sample'); }) 结果是, Error: Cannot find module 'sample' 我怎样才能使用点? (加) 我想命名遵循mvc模型,像 sample.model.js sample.controller.js sample.view.ejs sample.view.update.ejs … 没有问题的JS文件,但渲染ejs文件我不能。

在Jspm中使用非npm(legacy)javascript库

我正在尝试整合这个非npm的库 。 我已经失败了很多次,因为我总是很兴奋地使用一些现代化的框架,这使得我无法整合。 我用require.js尝试了backbone.js,甚至Dart,现在我仍然固执地尝试使用gulp,jspm,aurelia来达到同样的效果。 问题是这个库可能不遵循模块的概念。 我对这个库的初始化有很多问题,做了很多补偿。 所以问题是我该如何使用这样的库。 在同一时间使用现代的方式来构buildJavaScript应用程序。

如何在IIS中托pipe节点应用程序?

我在平均堆栈中开发应用程序。 唯一的区别是我想在IIS中托pipe我的应用程序,而不是express.js。 这样做是可能的还是可行的? 同样的可能的优点和缺点是什么? 提前致谢。

Webpack捆绑的快递应用程序无法查找视图

我运行npm run start和服务器运行良好。 当我尝试在localhost上查看客户端时,服务器返回错误:GET / 500 62.700 ms – 2028错误:无法在视图目录“/ views”中查找视图“错误” 只使用源文件时,应用程序运行良好。 从webpack包运行应用程序时发生此错误。 源代码和捆绑文件之间有什么区别会导致这个错误发生? 故宫:3.8.2 节点:4.2.6 expression:4.13.1 webpack:1.12.13 babel-loader:6.2.4 webpack.config.js var webpack = require('webpack'); var path = require('path'); var nodeModules = {}; fs.readdirSync('node_modules') .filter(function(x) { return ['.bin'].indexOf(x) === -1; }) .forEach(function(mod) { nodeModules[mod] = 'commonjs ' + mod; }); module.exports = [ { entry: { […]

Firebase听众占用大量内存

我在Heroku上的应用程序旁边运行了一个节点工作程序,它监听我的Firebase数据库上的某些path。 问题是,听这些path似乎占用了大量的内存。 如果我在下面的path上听13000个项目的变化,如果我的Heroku服务器占用了总共147MB的内存: setInterval => @ref.log_memory('Listener interval') , 1000 @ref.firebaseClient.child('listings').on 'child_changed', (snap) => @ref.log('child_changed') 输出: 22:39:07 worker.1 | info: Memory: 35mb total – 66mb rss – 23mb heapUsed 22:39:08 worker.1 | info: Memory: 36mb total – 67mb rss – 18mb heapUsed 22:39:09 worker.1 | info: Memory: 37mb total – 69mb rss – 23mb heapUsed 22:39:10 […]

错误:找不到模块'… / webpack'

我刚刚开始与节点,一般服务器的东西。 我正在跟着一个经过精心审查的YouTubevideo,在这里不知所措。 我在全局和我的项目文件夹中安装了webpack和webpack-dev-server。 现在,如果我尝试运行webpack(在terminal中inputnodejs webpack)或webpack-dev-server,它只是给我这个错误: andrew@AndrewLaptop:~/Documents/mean-todo-app$ nodejs webpack module.js:340 throw err; ^ Error: Cannot find module '/home/andrew/Documents/mean-todo-app/webpack' at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25) at Function.Module.runMain (module.js:497:10) at startup (node.js:119:16) at node.js:902:3 不应该看在意思todo应用程序/ node_modules / webpack而不是mean-todo-app / webpack ? 再一次,所有这一切都是新的,所以我可能会错过一些愚蠢的东西,但我没有find任何有用的东西。 谢谢 编辑:猜我可以提到我在Ubuntu上,如果重要的话

Angular – 看不到如何隐藏这个API Key

我在我的angular应用程序声明中有以下代码 – Facebook的API键(实现Sharebutton): .run(function($FB){ $FB.init('9xxxxxxxxxxxx94'); }) 所以我知道这个的一般答案 – 'API密钥应该保留在服务器端',但是我不明白我是如何实际执行这个。 共享呼叫方法是在前端进行的,所以即使我的服务器保存了API密钥并发送了它,当然在前端仍然可见,否则共享button将如何工作? 所以我的问题,我如何隐藏Facebook的API密钥? 谢谢。

使用`module`作为命名空间

我一直在我的node.js模块中使用一个模式,这对我来说似乎是非常明显的,所以我认为一定有什么问题,或者我会看到更多的人这样做。 为了保持模块全局的私有variables,我只需将它们作为属性附加在模块对象上。 像这样: module.exports = { init: function() { module.someClient = initializeSomethingHere() }, someMethod: function(done) { module.someClient.doSomething(done) } } 这似乎比这样的东西更可取 var someClient; module.exports = { init: function() { someClient = initializeSomethingHere() }, someMethod: function(done) { someClient.doSomething(done) } } …因为在第二个示例中,您需要在文件的顶部searchvar someClient ,以确保在init方法中省略var关键字是有意的。 我从来没有见过这种模式在其他地方使用,所以我想知道是否我错过了一些不理想的东西。 思考?

如何在express.js中引发404错误?

在app.js中,我有 // catch 404 and forward to error handler app.use(function(req, res, next) { var err = new Error('Not Found'); err.status = 404; next(err); }); 所以如果我请求一些不存在的URL像http://localhost/notfound ,上面的代码将会执行。 在存在的URL像http://localhost/posts/:postId ,我想抛出404错误时访问一些不存在postId或删除postId。 Posts.findOne({_id: req.params.id, deleted: false}).exec() .then(function(post) { if(!post) { // How to throw a 404 error, so code can jump to above 404 catch? }

如何获得Node.JS中产生的child_process的输出?

首先,我是一个完整的noob,昨天开始使用Node.JS(这也是我第一次使用Linux在几年),所以请不错,明确 我目前正在做一个Node.JS程序,其中包括启动shell命令(主要是:挂载一个USB驱动器)。 我目前正在使用 var spawn = require('child_process').spawnSync; function shspawn(command) { spawn('sh', ['-c', command], { stdio: 'inherit' }); } shspawn('echo Hello world'); shspawn('mkdir newdir'); 等等,这对我来说是一个非常舒适的方式。 问题是,我想存储的输出,例如,一个“ls”命令在一个variables,像 var result = shspawn('ls -l') 我已经在网上阅读了一些例子,但很less使用产卵,当他们这样做时,它不适用于我(我想我可能做错了什么,但我又是一个在节点noob) 如果你们有比使用child_process_spawnSync更好的主意,我打开任何想法,但我希望尽可能长时间保持我的程序包免费:) 编辑:我需要它同步工作! 这就是为什么我开始使用spawnSync。 我将使用一些像dd这样的命令,这需要时间,并且在程序移动到另一个命令之前需要完全完成。