Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 请求JS和CSS改为index.html_Javascript_Reactjs_Express_Create React App - Fatal编程技术网

Javascript 请求JS和CSS改为index.html

Javascript 请求JS和CSS改为index.html,javascript,reactjs,express,create-react-app,Javascript,Reactjs,Express,Create React App,我正在使用Express和create react应用程序 我的React应用程序是一个很好的应用程序,现在我正试图从Express服务器上为它提供服务 // server/app.js const express = require('express'); const path = require('path'); const app = express(); // Serve static assets app.use(express.static(path.resolve(__di

我正在使用Express和create react应用程序

我的React应用程序是一个很好的应用程序,现在我正试图从Express服务器上为它提供服务

// server/app.js

const express = require('express');
const path = require('path');

const app = express();

// Serve static assets

app.use(express.static(path.resolve(__dirname, '..', 'build')));

// serve main file

app.get('*', (req, res) => {
  res.sendFile(path.resolve(__dirname, '..', 'build', 'index.html'));
});


module.exports = app;
我的生成目录在我执行npm运行生成时填充


我在Chrome中查看页面,当在localhost:3000加载页面时会发生什么:控制台打印未捕获的SyntaxError:Unexpected Token请尝试以下代码更改,这些更改在中有详细说明:

替换

app.use(express.static(path.resolve(__dirname, '..', 'build')));

除去

app.get('*', (req, res) => {
  res.sendFile(path.resolve(__dirname, '..', 'build', 'index.html'));
});

尝试以下代码更改,这些更改在中有详细说明:

替换

app.use(express.static(path.resolve(__dirname, '..', 'build')));

除去

app.get('*', (req, res) => {
  res.sendFile(path.resolve(__dirname, '..', 'build', 'index.html'));
});
似乎您的app.useexpress.static。。。调用失败,因此所有请求(包括静态资产)都由app.get'*',req,res=>{part处理

由于您打算将此应用程序用于React应用程序,我建议您从样板文件中汲取灵感,看看它是如何完成的。我个人使用《纽约时报》的kyt项目,还有React初学者工具包。

您的app.useexpress.static…调用失败,因此所有请求(包括对静态资产的请求)都是h由app.get'*',req,res=>{part

由于您打算将此应用程序用于React应用程序,我建议您从样板中汲取灵感,看看它是如何实现的。我个人使用《纽约时报》的kyt项目,还有React初学者工具包。

问题在于主页:…in package.json

当npm运行build时,package.json中有一个主页URL,它有一个非空路径,如Github Pages URL,如下图所示,其中/project\u name是路径,它会更改/build中文件的预期位置。对my js和css的请求将转到/project\u name/static/…而不是/static/

它甚至在npm运行构建的日志输出中说:

在我的本地主机上,它不是托管在/project_name/,因此路径已关闭。

问题是主页:…in package.json

当npm运行build时,package.json中有一个主页URL,它有一个非空路径,如Github Pages URL,如下图所示,其中/project\u name是路径,它会更改/build中文件的预期位置。对my js和css的请求将转到/project\u name/static/…而不是/static/

它甚至在npm运行构建的日志输出中说:


在我的本地主机上,它不是托管在/project_name/,所以路径是关闭的。

Hmm,现在它给我一个404。我想没有匹配的路径。用新的代码片段更新答案,看看是否有帮助。嗯,现在它给我一个404。我想没有匹配的路径。用新的代码片段更新答案,看看是否有帮助。在编写express应用程序的情况下,您可以将静态站点装载到任意目录,例如app.use'/project\u name',express.static…。在编写express app的情况下,您可以将静态站点装载到任意目录,例如app.use'/project\u name',express.static。。。。