我正在使用节点+快递,我只是想知道如何我可以导入任何文件作为一个string。 比方说,我有一个txt文件,我想要的是加载到一个variables,因此。 var string = require("words.txt"); 我反对 modules.exports = function(){ var string = "whatever"; return string; }
我已经定义了一个mongoose用户模式: var userSchema = mongoose.Schema({ email: { type: String, required: true, unique: true}, password: { type: String, required: true}, name: { first: { type: String, required: true, trim: true}, last: { type: String, required: true, trim: true} }, phone: Number, lists: [listSchema], friends: [mongoose.Types.ObjectId], accessToken: { type: String } // Used for Remember Me }); […]
当我尝试使用一个简单的快递服务器的webpack时,我总是得到吨的错误: express.js 'use strict'; var express = require('express'); var path = require('path'); var url = require('url'); // ——– my proxy———————- var app = express(); app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'ejs'); app.set('port', process.env.PORT || 8080); app.use(function logErrors(err, req, res, next) { console.error(err.stack); next(err); } ); app.listen(app.get('port'), function() { console.info('Express server started at http://localhost:' + app.get('port')); }); […]
我正在跟随一些教程来构build一个同构的应用程序与快递和反应。 我对webpack-dev-server感到困惑。 webpack教程介绍了关于webpack-dev-server: 这绑定一个小型快递服务器localhost:8080,它为您的静态资产以及捆绑包(自动编译)提供服务。 它会在重新编译包(socket.io)时自动更新浏览器页面。 在浏览器中打开http:// localhost:8080 / webpack-dev-server / bundle 。 因为我有快递服务器,我真的需要webpack-dev-server吗? 或者使用它的优点和缺点是什么? 如果我想使用react-hot-loader,webpack-dev-server是否必要?
我有多个Node应用程序(构build在Express框架上)。 现在我已经把它们放在这里了 – /var/www/app1 /var/www/app2 /var/www/app3 现在我想在同一个端口上运行这3个应用程序(比如8080)。 那可能吗 ? 有一点要注意的是,每个应用程序都有像这样的通用路线 – app.get('/', func…); app.get('/about', func…); app.post('/foo', func…); app.post('/bar', func…); 基本上我想这样做,就像你可以用Apache / PHP的设置。 所以,当你有一个LAMP堆栈 – /var/www/app1 /var/www/app2 /var/www/app3 您可以轻松地将它们作为不同的应用程序从 – localhost/app1 localhost/app2 localhost/app3
我正在使用Express.js(在Node.js上),我知道你可以通过“locals”参数来显示自定义数据的视图。 ( res.render("template", { locals: { foo: "bar" } }); ) 有什么办法可以有“全局”? (即每个视图都可以访问的数据) 我看到view options ,但这不是recursion的,所以如果我用我的模板使用任何本地人,它取代了我设置的本地人。 这是我的用例:我想这样做,以便每个页面可以添加CSS / JS文件,这是我的主要布局的一部分。 问题是,如果我没有明确地在每个渲染上设置这些数组,我得到一个未定义的错误,所以在我的模板中,我总是要做typeof css !== "undefined" dance。 另外,我还有其他的select框选项列表,我不想明确地添加到每个表单中。
我正在使用一个节点/快递服务器。 express的默认超时时间是120,000ms,但对我来说还不够。 当我的响应达到120,000毫秒时,控制台将loggingPOST /additem 200 120006ms ,页面显示错误,所以我想将超时设置为更大的值。 我该怎么做?
我只是在快速阅读文档,发现这两个术语, app.use(); 和router.use(); 我知道app.use(); 在节点中用于在一个path上挂载中间件 ,我们经常在大多数节点应用程序中使用它。 但是什么是router.use(); 他们都一样吗? 如果不是,有什么区别? 我在这里读了关于路由器。 我也在SO上发现了类似的问题。 “express.Router”和使用“app.get”的路由之间有什么区别? 和app.all('*')和app.use('/')之间的区别 ,但是他们并没有真正回答我的问题。 谢谢。
我正在使用一台服务器来托pipe多个分布在多个域中的Node.js Web应用程序。 我目前的做法是为不同端口上的每个应用运行一个Express服务器,并运行一个基本服务器,将请求简单地路由(redirect)到正确的端口/ Express服务器。 这可以工作,但这意味着我的基本服务器正在路由每个HTTP请求(并通过手动redirect),并且我的用户将我的应用程序视为托pipe在[hostname.com]:8000。 经过一番研究,我发现我可以使用http-proxy来满足我的路由需求,但是我仍然想知道在同一个系统上运行多个Express服务器是否是最佳做法。 以下是我打算如何做的计划: 每个Web应用程序都有自己的文件夹,具有完整的Express文件夹结构(app.js,路线,视图等)应用程序将按域进行分组,因此示例文件夹结构将是: hostname.com/ app.js routes/ views/ … app1/ app1.js routes/ views/ … app2 … hostname2.com/ app.js routes/ views/ … 我将不得不分别运行每个app.js节点(或永远 ,我目前正在使用),每个人将不得不在内部使用不同的端口,跨应用程序redirect指向端口的目标应用 所以,这是我目前的计划。 它有什么问题,我应该尽量避免哪些缺陷? 最重要的是,这个问题是否存在一个解决scheme – 在Node.js / Express的同一个系统上托pipe多个Web应用的问题? 编辑:我打算最终使用WebSockets和HTTPS,而我的设置可以支持的带宽量对我来说并不重要 – 这是一个开发服务器(至less现在)。 感谢David Ellis提出的WebSockets问题。 第二次编辑:感谢EhevuTov和David Ellis的回答,两者都有很大的帮助。 我仍然在为我的应用程序的整体结构定居,看起来这个问题是由这个StackOverflow问题详细解决 第三编辑:自从发布这个问题以来,我已经有了一些方法(尽pipe我还有很长的路要走)。 看看我的GitHub仓库中的这个文件 ,它利用了我从这个问题的答案中学到的东西!
我无法让我的系统使用PassportJS注销。 似乎注销路由正在被调用,但它不会删除会话。 我想要它返回401,如果用户没有login在特定的路线。 我调用authenticateUser来检查用户是否login。 非常感谢! /******* This in index.js *********/ // setup passport for username & passport authentication adminToolsSetup.setup(passport); // admin tool login/logout logic app.post("/adminTool/login", passport.authenticate('local', { successRedirect: '/adminTool/index.html', failureRedirect: '/', failureFlash: false }) ); app.get('/adminTool/logout', adminToolsSetup.authenticateUser, function(req, res){ console.log("logging out"); console.log(res.user); req.logout(); res.redirect('/'); }); // ******* This is in adminToolSetup ******** // Setting up […]