Express服务器配置问题,公共目录

问题描述 投票:0回答:1

我创建了两个独立的分离成束,一个是我的服务器和一个我的客户。但是客户端包仍然没有得到通过,当有人访问根路线浏览器下载。

我跟快递到这里治疗public/文件夹作为免费提供的公共目录index.js内:

app.use(express.static('public'));
app.get('/', (req, res) => {
  const content = renderToString(<Home />);

我还添加了与ES6模板字符串,像这样的HTML片段:

import express from 'express';
import React from 'react';
import { renderToString } from 'react-dom/server';
import Home from './client/components/Home';

const app = express();

app.use(express.static('public'));
app.get('/', (req, res) => {
  const content = renderToString(<Home />);

  const html = `<html><head><body><div>${content}</div><script src="bundle.js"></script></body></head></html>`;

  res.send(content);
});

这个想法是当用户会从这个端点的响应,他们将看到来自<Home />组件的内容,而且还告诉用户的浏览器返回到我的服务器,并下载bundle.js文件。

人们期望,我刷新页面,并即时检索本地主机,并为bundle.js文件的请求,看到我在Home.js成分添加的控制台日志:

import React from 'react';

const Home = () => {
  return (
    <div>
      <div>I am an OK home component</div>
      <button onClick={() => console.log('Howdy!')}>Press me!</button>
    </div>
  );
};

export default Home;

我刷新浏览器,并没有看到控制台日志,也不在网络选项卡中bundle.js文件。

这里是什么让?

javascript reactjs express
1个回答
0
投票

所以,我创建的变量html在那里我存储从模板字符串在它与bundle.js文件的HTML,但当时我并不在任何地方使用这个变量。

我曾与res.send(content);更换res.send(html);

© www.soinside.com 2019 - 2024. All rights reserved.