부트 스트랩 4의 popper.js가 SyntaxError 예기치 않은 토큰 내보내기를 제공합니다.


100

나는 부트 스트랩 4 설치를 시도하고 다음 링크를 포함했습니다.

<script src="libs/jquery/dist/jquery.min.js"></script>
<script src="libs/tether/dist/js/tether.min.js" ></script>
<script src="libs/popper.js/dist/popper.js"></script>
<script src="libs/bootstrap/dist/js/bootstrap.min.js" ></script>

그러나 다음과 같은 오류가 발생합니다.

발견되지 않은 구문 오류 : 예기치 않은 토큰 내보내기

여기에 이미지 설명 입력

그것을 고치는 방법에 대한 아이디어가 있습니까?


나는 부트 스트랩 파일을 필요 몰라
Павел Шиляев

아니, 난이 사용되는 부트 스트랩을 가지고 있지만 그것은 나에게 묻지도 않고
인 Ashish SAH

1
마지막 버전 질문
Павел Шиляев에게

그렇다면 CDN 링크를 사용한다고 말할 것입니다
Ashish sah

proble은 내가 CDN 링크를 사용하기로 아니에요 때 시장에 uploud
Павел Шиляев

답변:


35

같은 CDN 네트워크에서 popper.js를 사용하면 같은 문제가 발생했습니다 cdnjs.

Bootstrap 4예를 들어 Navbar 와 같은 예제 의 소스 코드를 관찰하면 다음 popper.min.js에서로드 된 것을 볼 수 있습니다 .

<script src="https://getbootstrap.com/docs/4.1/assets/js/vendor/popper.min.js"></script>

내 프로젝트에 포함 시켰고 오류가 사라졌습니다. 다음에서 소스 코드를 다운로드 할 수 있습니다.

https://getbootstrap.com/docs/4.1/assets/js/vendor/popper.min.js

프로젝트에 로컬 파일로 포함하면 작동합니다.


예. 당신이 옳습니다. 해당 코드를 복사하여 붙여 넣으면 오류가 사라집니다. CDN은 특정 버전을 지정하지 않습니다.popper.js
Fabrizio Bertoglio 2017

2
작동하지만 BootStrap 팀이 자체 코드를 업데이트하기 전까지는 이것이 적절한 방법이 아니라고 생각합니다.
Nadeem Jamali

8
위의 URL은 찾을 수 없음 오류 (404)를 반환합니다. Bootstrap 4.1.3에 getbootstrap.com/docs/4.1/assets/js/vendor/popper.min.js 를 사용 했으며 이로 인해 문제가 해결되었습니다.
Mike Strother

1
이 답변에서 제안한 기술을 사용하는 것은 움직이는 표적을 쫓는 것과 같습니다. 정답은 Marc와 Zim이 제공합니다.
nagu

불행히도 이것은 더 이상 작동하지 않습니다. 이 오류는 사라지고 있지만, 툴팁 기본 HTML 툴팁입니다
deanwilliammills

248

이것도 가지고 왜 실제로 발생하는지 알아 냈습니다. 다른 사람이 여기에 도착하는 경우 :

readme.md "사용법"을 확인하십시오. lib는 세 가지 다른 모듈 로더에 대해 세 가지 버전으로 제공됩니다. 간단히 말해서 <script>태그로 로드하는 경우 UMD 버전을 사용해야합니다 . 에서 찾을 수 있습니다 /dist/umd. 기본값 ( /dist)은 태그를 사용하여로드 할 수없는 ESNext (ECMA-Script)입니다 script.


5
감사합니다. umd 파일로 변경하여 오류를 제거했습니다.
user1500321

4
UMD 폴더 아래에있는 파일에 대한 참조를 변경하면 내 문제 해결
Vimalan 자야 가네

16
이것은 받아 들여진 대답이어야합니다. 대박. 공유해 주셔서 감사합니다.
Ajay Kumar

3
위의 내용에 따르면 이것이 진정한 대답입니다.
Ron

1
빠른 도움을 주셔서 감사합니다. 이 / umd 및 / esm 폴더가 무엇인지 궁금했지만 Google은 좋은 결과를 제공하지 않습니다.
Blackbam

89

Bootstrap 4에는의 UMD 버전이 필요하며 popper.js순서가 다음과 같은지 확인합니다.

<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src="~/Scripts/jquery-3.0.0.min.js"></script>
<script src="~/Scripts/umd/popper.min.js"></script>
<script src="~/Scripts/bootstrap.min.js"></script>

UMD 버전은 오류를 제거한 유일한 CDN 링크입니다.
nyusternie

고마워 친구! 주문으로 문제가 해결되었습니다. 건배!
Noobie

17

bootstrap.bundle.min.js를 추가하고 html에서 popper.js를 제거 할 수도 있습니다.

번들로 제공되는 JS 파일 ( bootstrap.bundle.js및 축소 된 bootstrap.bundle.min.js) 에는 [Popper] ( https://popper.js.org/ )가 포함되지만 jQuery는 포함 되지 않습니다 .


2
bootstrap.bundle.min.js포함popperjs
vuhung3990

추가 Popper.js 라이브러리를 전혀 사용할 필요가 없기 때문에 최고의 답변
BuddyZ

10

README의 96 행

거리 타겟

Popper.js는 현재 UMD, ESM 및 ESNext의 세 가지 대상을 염두에두고 제공됩니다.

  • UMD-범용 모듈 정의 : AMD, RequireJS 및 글로벌;
  • ESM-ES 모듈 : 사양을 지원하는 웹팩 / 롤업 또는 브라우저 용;
  • ESNext :에서 사용 가능 dist/하며 webpack 및 babel-preset-env;

귀하의 필요에 맞는 것을 사용하십시오. <script>태그 와 함께 가져 오려면 UMD를 사용하세요.


UMD 디렉토리에있는 popper.min.js 파일을 사용하면 npm을 통해 popper를 설치할 때 문제가 해결되었습니다. 감사합니다!
Kickin_Wing

6

번들 구성 번들에 다음 코드가 있습니다 .Add (new ScriptBundle ( "~ / bundles / jquery"). Include ( "~ / Scripts / jquery- {version} .js"));

        bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
                    "~/Scripts/jquery.validate*"));

        // Use the development version of Modernizr to develop with and learn from. Then, when you're
        // ready for production, use the build tool at https://modernizr.com to pick only the tests you need.
        bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
                    "~/Scripts/modernizr-*"));

        bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
                    "~/Scripts/umd/popper.min.js",
                  "~/Scripts/bootstrap.js",
                  "~/Scripts/respond.js"));

레이아웃 HTML의 다음 코드

@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")

이것은 나를 위해 일했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.