Uncaught SyntaxError: Unexpected token < for JavaScript files
Uncaught SyntaxError: Unexpected token < for JavaScript files
我正在开发一个 MEAN 堆栈 CRUD 项目。构建我的项目后,我从 dist/ngAppVideos/index.html
folder.i 中的 index.html 文件中收到此错误,尝试 <base href="/">
但没有成功。
这是我的 index.html 文件
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>NgAppVideos</title>
<base href="/ngAppVideos/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="favicon.ico">
</head>
<body>
<app-root></app-root>
<script type="text/javascript" src="runtime.js"></script>
<script type="text/javascript" src="polyfills.js"></script>
<script type="text/javascript" src="styles.js"></script>
<script type="text/javascript" src="vendor.js"></script>
<script type="text/javascript" src="main.js"></script>
</body>
</html>
这是server.js文件
const express = require('express');
const bodyParser = require('body-parser');
const path = require('path');
const api = require('./server/routes/api');
const port = 3000;
const app = express();
api.use(express.static(path.join(__dirname, 'dist')));
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.use('/api', api);
app.get('*', (req, res) => {
res.sendFile(path.join(__dirname, 'dist/ngAppVideos/index.html'));
});
app.listen(port, function () {
console.log("Server running on localhost:" + port);
});
我尝试了很多方法,比如修改 index.html 文件中的 base-href 位置,但没有用
在我的server.js中,我将我的__dirname
更改为dist/index.html
,但这次它只是提示No such directory can be found..
错误。
谢谢!
你有几个错误:
1) 将 public 文件设置为 dist
必须设置 dist
的完整路径。可能在子目录或类似的目录中。
2) 在你的 node.js 代码中,你通过 HTML 文件告诉 return 所有 GET
请求,在前端代码中,你得到一个 javascript 文件,但您的服务器代码发送 HTML 文件,前端等待 javascript 代码,但收到 HTML 文件并向您发送此错误。
解决这些问题必须设置一个正确的public文件夹,把你的javascript文件放到里面,然后把前面的getjavascript路径改一下,比如
像这样设置public:
app.use(express.static(path.join(__dirname, 'subdirectory/dist')))
并将脚本标签更改为:
<script type="text/javascript" src="/runtime.js"></script>
别忘了将您的 javascript 文件放入 dist
文件夹
我正在开发一个 MEAN 堆栈 CRUD 项目。构建我的项目后,我从 dist/ngAppVideos/index.html
folder.i 中的 index.html 文件中收到此错误,尝试 <base href="/">
但没有成功。
这是我的 index.html 文件
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>NgAppVideos</title>
<base href="/ngAppVideos/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="favicon.ico">
</head>
<body>
<app-root></app-root>
<script type="text/javascript" src="runtime.js"></script>
<script type="text/javascript" src="polyfills.js"></script>
<script type="text/javascript" src="styles.js"></script>
<script type="text/javascript" src="vendor.js"></script>
<script type="text/javascript" src="main.js"></script>
</body>
</html>
这是server.js文件
const express = require('express');
const bodyParser = require('body-parser');
const path = require('path');
const api = require('./server/routes/api');
const port = 3000;
const app = express();
api.use(express.static(path.join(__dirname, 'dist')));
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.use('/api', api);
app.get('*', (req, res) => {
res.sendFile(path.join(__dirname, 'dist/ngAppVideos/index.html'));
});
app.listen(port, function () {
console.log("Server running on localhost:" + port);
});
我尝试了很多方法,比如修改 index.html 文件中的 base-href 位置,但没有用
在我的server.js中,我将我的__dirname
更改为dist/index.html
,但这次它只是提示No such directory can be found..
错误。
谢谢!
你有几个错误:
1) 将 public 文件设置为 dist
必须设置 dist
的完整路径。可能在子目录或类似的目录中。
2) 在你的 node.js 代码中,你通过 HTML 文件告诉 return 所有 GET
请求,在前端代码中,你得到一个 javascript 文件,但您的服务器代码发送 HTML 文件,前端等待 javascript 代码,但收到 HTML 文件并向您发送此错误。
解决这些问题必须设置一个正确的public文件夹,把你的javascript文件放到里面,然后把前面的getjavascript路径改一下,比如
像这样设置public:
app.use(express.static(path.join(__dirname, 'subdirectory/dist')))
并将脚本标签更改为:
<script type="text/javascript" src="/runtime.js"></script>
别忘了将您的 javascript 文件放入 dist
文件夹