Articles of 表示

如何从外部导入webpack条目文件的默认导出?

我想我最好用代码来解释它。 我在webpack中有一个文件,如下所示: import ReactDOMServer from 'react-dom/server'; import Server from './server'; import templateFn from './template'; export default (req, res) => { const reactString = ReactDOMServer.renderToString(<Server />); const template = templateFn(html); res.send(template); }; 我也有一个明确的应用程序,我想要访问默认的导出function。 如果有什么区别,这个文件就是webpack的入口文件。 这是我在我的快速应用程序中尝试的: const handleRequest = require(path.resolve(webpackConfig.output.path, webpackConfig.output.filename)); app.get('*', (req, res) => { console.log(handleRequest); }); 我试图导入webpack生成的文件,希望能够访问条目文件的默认导出。 那么,我错了,因为导入的输出是{} 。 有一个webpack插件或某种技术来做我想要build立的? 我不希望快速应用程序成为webpack构build的一部分。 这是我以这种方式分离代码的主要原因。

我怎么能概括Node.js中的http响应处理程序?

我正在为节点应用程序编写一个rest api,并且我发现自己重写了如下的很多内容: function(req, res, next) { databaseCall() .then( (results) => { if (results != null) { res.status(200).send(results); } else { res.sendStatus(404); } }) .catch(function(err) { console.log("Request error: " + err.stack); res.sendStatus(500); }) } 我想重构响应部分,所以我可以做类似的事情 databaseCall() .then(handleResponse) handleResponse将负责整个响应/捕获过程。 但我不能完全弄清楚如何做到这一点。 databaseCall方法因端点而异 – 有时需要一个参数,有时不需要。 我可以做一个通用的函数expression式,将数据库调用的结果,并将其坚持在承诺链,但我不知道如何访问该函数内的响应对象。 我知道我可以添加另一个function来结合一切,如下所示: function(databaseCall, parameter, req, res, next) { databaseCall(parameter) .then( (results) => { if […]

Express:从远程机器定义视图文件夹

我如何定义在另一台共享机器上显示的视图文件夹? 我可以通过\\0.0.0.0\myfolder等访问Windows资源pipe理器中的远程文件,但是我无法将视图文件夹设置为在另一个远程机器上显示的位置。 app.set('views', path.join(__dirname, '/views')); app.engine('php', phpExpress.engine); app.set('view engine', 'php'); 这定义了我的本地机器中的views文件夹。 如果我想让nodejs查看远程共享机器,我将如何设置它

NodeJS / express:开始运行一段时间后服务器被挂起

我用express和webpack做了我的服务,一开始它运行良好。 奇怪的是,一段时间后,服务(服务器)将挂起。 如屏幕截图所示,没有收到消息代码。 (服务器消息截图)而这种情况一再发生。 我的app.js var express = require('express'); var path = require('path'); var favicon = require('serve-favicon'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); var index = require('./routes/index'); var users = require('./routes/users'); var app = express(); var mysql = require('mysql'); var generals = require('./routes/generals'); // view engine setup app.set('views', path.join(__dirname, […]

节点库不再工作

我正在尝试使用node-gallery模块。 当我使用代码 app.use('/gallery', require('node-gallery')({ staticFiles : 'resources/photos', urlRoot : 'gallery', title : 'Example Gallery' })); 它工作正常,但是当我试图写我自己的function使用 app.use('/gallery', require('node-gallery')({ staticFiles : 'resources/photos', urlRoot : 'gallery', title : 'Example Gallery', render : false }), function(req, res, next){ //my func, for example: console.log("test"); //return res.send(req.html); }); 它不工作,function只是不执行…文档: https : //www.npmjs.com/package/node-gallery请帮助我。 谢谢。

如何将id和body添加到axios.PUT请求?

我正在用REACT使用axios,并想知道如何使用它来通过我设置的后端节点/ express API来更新对象的put请求。 我需要能够通过id和body ,不知道如何这样做。 axios.put('/api/profile', id, body) .then(response => { console.log(response.data); }) .catch(err => { console.log(err); }); 我不认为这将工作,因为它需要put(url, data, {headers})

如何通过弹性search在expressjs中解决Not Found消息

你能告诉我如何解决expressjs这个错误信息 POST /test/_search 404 45.691 ms – 1235 Trace: Not Found 我刚刚尝试这个代码expressjs与elasticsearch /* GET home page. */ router.get('/', function(req, res, next) { client.search({ index: 'test', body:{ query:{ multi_match:{ query: 'i5', fields: ['title'] } } } }).then(function (response) { var hits = response.hits.hits; console.log(response); console.log(response.hits); console.log(response.hits.hits); }, function (error) { console.trace(error.message); }) res.render('index', { title: 'Express'}); […]

grunt-express livereloadconfiguration

你好,我正在尝试为自动重新加载function的grunt-expressconfiguration。 但我认为它有一些错误,但我找不到它。 我正在使用快速发生器,节点,咕噜声 我的目录结构如下HRapp -grunt -bin -public -routes app.js和public目录中的所有静态文件 这里是我gruntfile.js的grunt目录中的gruntfile.js module.exports = function(grunt) { grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), express: { server: { options: { port: 3000, bases: '../public' } } } }) grunt.loadNpmTasks('grunt-parallel') grunt.loadNpmTasks('grunt-contrib-watch') grunt.loadNpmTasks('grunt-express') grunt.registerTask('default', ['express', 'express-keepalive']) } 上面的代码工作正常,所以我想尝试使用grunt-express的livereloadfunction。 但下面的代码不起作用 module.exports = function(grunt) { grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), express: { myLivereloadServer: { bases: path.resolve(__dirname, '../public'), livereload: […]

Express + Node:与原始文件相比,通过response.download()下载的文件大小不同

我正在使用Node + Express在简单的Web服务器上工作。 让我来解释一下我面临的一个奇怪的问题。 使用外部脚本(dropbearkey)我正在生成一个密钥对,生成的私钥存储在服务器的文件系统上。 目标是发送这个私钥作为对客户请求的响应。 客户端是使用Electron开发的应用程序。 为了做到这一点,我使用了以下内容: response.download(filepath); 上面一行中的filepath是服务器文件系统上生成的私钥的path。 这是一个二进制文件。 问题是,与原始文件相比,客户端下载的文件的大小更大。 任何想法为什么? 我在这里做错了什么? 提前致谢! 原始文件(在服务器上) 下载的文件(在客户端上)

尝试使用Express在localhost:3000上运行脚本

卡住了我的第一次尝试在一个基本的应用程序。 Scraper.js在控制台中单独运行时,会抓取一个URL并将返回的数组写入文档obj,以便该部分工作。 现在我只想要一个Express服务器来运行脚本,只要我打开localhost:3000,但不知道如何去做。 |node_modules |package.json |public |-index.html (boilerplate HTML. Not importing anything) |src |-scraper.js |index.js index.js: var scraperjs = require('scraperjs'); var express = require('express'); var app = express() app.use(express.static(__dirname + '/public')); app.listen(3000); – scraper.js: scraperjs.StaticScraper.create('https://examplesite.com/') .scrape(function($) { return $(".entry-content p").map(function() { var content = $(this).html(); return content } }).get(); }) .then(function(data) { … // eventually […]