Uncaught SyntaxError: неожиданный токен <для файлов JavaScript - PullRequest
0 голосов
/ 30 декабря 2018

Я занимаюсь разработкой MEAN стека CRUD-проекта.После сборки моего проекта я получаю эту ошибку из файла index.html в dist/ngAppVideos/index.html folder.i пробовал <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);
}); 

Я пробовал много способов, таких как изменение местоположения base-href в файле index.html, но не сделалработа

в моем server.js Я изменил свой __dirname на dist/index.html, но на этот раз он просто выдает ошибку No such directory can be found...

Спасибо!

1 Ответ

0 голосов
/ 30 декабря 2018

у вас есть несколько ошибок:

1) для установки открытого файла на dist должен быть задан полный путь dist. Может быть, есть в подкаталоге или что-нибудь подобное.

2) в вашем коде node.js вы говорите, что возвращаете все запросы GET в виде HTML-файла, а в коде переднего плана вы получаете файл javascript, но код вашего сервера отправляет файл HTML, и интерфейс ожидаетjavascript код, но получите HTML-файл и отправьте вам эту ошибку.

для решения этих проблем необходимо установить правильную общую папку и поместить в нее свой файл javascript и изменить путь получения javascript вперед, например

установить public следующим образом:

app.use(express.static(path.join(__dirname, 'subdirectory/dist')))

и изменить тег сценария на:

<script type="text/javascript" src="/runtime.js"></script>

не забудьте поместить свой файл JavaScript в dist папку

...