Javascript 请求JS和CSS改为index.html
我正在使用Express和create react应用程序 我的React应用程序是一个很好的应用程序,现在我正试图从Express服务器上为它提供服务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
// 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。。。。