programing

SyntaxError: 식이 필요한데 '<'이(가) 수신되었습니다.

lastmemo 2023. 3. 2. 21:55
반응형

SyntaxError: 식이 필요한데 '<'이(가) 수신되었습니다.

받았습니다SyntaxError: expected expression, got '<'다음 노드 코드를 실행할 때 콘솔에 오류가 발생함

var express = require('express');
var app = express();
app.all('*', function (req, res) {
  res.sendFile(__dirname+'/index.html') /* <= Where my ng-view is located */
})
var server = app.listen(3000, function () {
  var host = server.address().address
  var port = server.address().port
})

오류:여기에 이미지 설명 입력

저는 Angular Js를 사용하고 있는데 Bellow와 같은 폴더 구조입니다.

여기에 이미지 설명 입력

내가 뭘 놓쳤지?

다음 코드:

app.all('*', function (req, res) {
  res.sendFile(__dirname+'/index.html') /* <= Where my ng-view is located */
})

브라우저가 어떤 요구를 하든 서버가 반환해야 함을 Express에 알립니다.index.html브라우저가 JavaScript 파일을 요구할 때 다음과 같이 됩니다.jquery-x.y.z.main.js또는angular.min.js서버가 의 내용을 반환하고 있습니다.index.html(처음에는)로 시작합니다.<!DOCTYPE html>이 경우 JavaScript 오류가 발생합니다.

콜백 내의 코드는 어떤 파일을 반송할지를 결정하기 위한 요구를 참조하거나 다른 경로 패턴을 사용해야 합니다.app.all자세한 것은, 라우팅 가이드를 참조해 주세요.

이것을 시험해 보세요.보통 도움이 됩니다.

app.set('appPath', 'public');
app.use(express.static(__dirname +'/public'));

app.route('/*')
  .get(function(req, res) {
    res.sendfile(app.get('appPath') + '/index.html');
  });

디렉토리 public에는 my index.html이 포함되어 있으며 bower_components 폴더에 있는 모든 각진 파일을 참조합니다.

express.static 부분은 static 파일(.js 및 css 파일)을 올바르게 처리합니다.코드로 판단하면, 다음의 행을 사용할 필요가 있을 수 있습니다.

app.use(express.static(__dirname));

모든 JS 파일인 index.html과 JS 서버 파일이 같은 디렉토리에 있는 것처럼 보입니다.

@T.J. Crowder가 말하려고 했던 것은 app.route를 사용하여 index.html 이외의 다른 파일을 전송한다는 것입니다.이것은 index.html을 사용하는 것만으로 프로그램이 .html 파일을 검색하여 JS 오류를 발생시키기 때문입니다.

잘 됐으면 좋겠다!

주요 아이디어는 어떻게든 Javascript 대신 HTML이 돌아왔다는 것입니다.

원인은 다음과 같습니다.

  • 잘못된 길
  • 자산 자체

잘못된 자산 사전 컴파일이 원인일 수 있습니다.제 경우 인코딩이 잘못되어 이 에러가 검출되었습니다.

어플리케이션을 열었을 때 봤어요.jsapplication error Encoding::UndefinedConversionError at /assets/application.js

Javascript 대신 HTML 형식으로 포맷된 오류의 완전한 역추적이 있었습니다.

자산이 성공적으로 사전 컴파일되었는지 확인합니다.

저도 같은 실수를 했어요.그리고 저 같은 경우에는

이유: 서버에서 javascript 페이지가 아닌 로그인 페이지를 보내는 리소스 제한이 있었습니다.

해결책: 사용자에게 자원 접근을 허용하거나 제한을 해제합니다.

html에 인라인태그를 넣어도 (나에게 공통적인) 오타가 발생하여 closing-script 태그에 슬래시를 추가하는 것을 잊은 경우에도 다음과 같은 에러 메시지가 나타납니다.

<script>
  alert("I ran!");
<script> <!-- OOPS opened script tag again instead of closing it -->

기호로 "JS less than"은 "less than"입니다.따라서 다음 오류가 발생합니다.SyntaxError: expected expression, got '<'

추가만 하면 됩니다.

app.use(express.static(__dirname +'/app'));

서 ''는'/app'index.html Webapp.

Wordpress 사이트를 다른 서버로 마이그레이션할 때 동일한 오류가 발생했습니다.js 스크립트의 헤더에 있는 URL은 이전 서버와 도메인 이름을 가리키고 있었습니다.

도메인 이름을 업데이트하자 오류가 사라졌습니다.

Angular js 사용 시에도 비슷한 문제가 있었습니다.저는 .htaccess에서 all을 index.html로 다시 썼습니다.해결책은 에 올바른 경로 슬래시를 추가하는 것입니다.각각의 상황은 다르지만, 이것이 도움이 되기를 바랍니다.

이 문제는 잘못된 경로를 가진 파일을 포함하고 있으며 서버에서 파일 로드 시 404 오류가 발생할 때 발생합니다.

이거면 되겠네요.SPA를 사용하는 경우.

app.use('/', express.static(path.join(__dirname, 'your folder')));
// Send all other requests to the SPA
app.get('*', (req, res) => {
    res.sendFile(path.join(__dirname, 'your folder/index.html'));
});

ASP를 통해 각 SPA에 접속하려고 할 때 이 오류가 발생하였습니다.NET 코어환경변수가 올바르게 로드되지 않아 다음 회선이 호출되지 않았습니다.

app.UseSpaStaticFiles();

전화가 온 것을 확인하고 나서, 앱이 다시 동작하기 시작했습니다.

, 제장고, 장고, 장고, 장고, 장고, 장고, 장고, 장고, 장고, 장고, 장고, 장고, 장고, 장고, 장고, 장고, 장고, 장고, 장고, 장고, 장고, 장고, 장고, 장고, 장고, 장고, 장고, 장고, , 장고, 장고, 장고, 장고, 장고, 장고, 장고static<script>붙이다

템플릿의 예:

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

이 부분을 요.static이치노

<script type="text/javascript" src="{% static 'css/layer.js' %}" ></script>

이게 누군가에게 도움이 될 수도 있어제가 받은 오류는

SyntaxError: 식이 필요한데 '<'이(가) 수신되었습니다.

Chrome에서 뷰 소스를 클릭한 결과 이 오류가 발견되었습니다.

주의: 정의되지 않은 변수: D: 문자열\Projects\demo\ge.66행의 php

문제는 이 코드 조각이거기서

$string= ''; <---- this should be declared outside the loop

while($row = mysql_fetch_assoc($result))
    {
        $string .= '{ id:'.$row['menu_id'].', pId:'.$row['parent_id'].', name:"'.$row['menu_name'].'"},';
    }

문제를 해결했습니다.

언급URL : https://stackoverflow.com/questions/28894074/syntaxerror-expected-expression-got

반응형