html5 모드를 사용하여 Angular 다시 로드 (Reload Angular using html5 mode)


문제 설명

html5 모드를 사용하여 Angular 다시 로드 (Reload Angular using html5 mode)

Angular.js에서 # using html5 모드를 끄고 grunt와 node를 dev 서버로 사용하고 있지만 다시 로드하고 새로 고침하면 404로 돌아옵니다.

노드 서버를 어떻게 활성화합니까? Grunt에서 페이지 새로고침을 하시겠습니까?


참조 솔루션

방법 1:

Say your application entry point is http://localhost/app/. You enter this page into the browser's address bar, the browser sends a request, the server finds the file app/index.html in its document root and returns it. Now the browser finds some script tags in that document, requests the scripts from the server and executes them. Your application is working.

At one point angular‑route jumps in and starts manipulating the browser's address bar. At one point it may display http://localhost/app/shop/order there. Now you hit reload. What happens? Just read this answer from the beginning but with the modified URI:

... the server does not find the file app/shop/order/index.html and responds with a 404.

You cannot get rid of the hash sign without configuring the server. From https://docs.angularjs.org/guide/$location:

Server side

Using this mode requires URL rewriting on server side, basically you have to rewrite all your links to entry point of your application (e.g. index.html). Requiring a <base> tag is also important for this case, as it allows Angular to differentiate between the part of the url that is the application base and the path that should be handled by the application.

How should the server know that /app/shop/order is essentially a request for /app but /app/app.js or /app/partials/overView.html are requests for real files? You have to configure the server for that and you often have to restructure your application.

(by ottz0Guido Flohr)

참조 문서

  1. Reload Angular using html5 mode (CC BY‑SA 2.5/3.0/4.0)

#gruntjs #angularjs #node.js






관련 질문

프로그램에서 연속적으로 오류 코드를 받는 Gruntfile (Gruntfile getting error codes from programs serially)

grunt.initConfig() 전에 비동기 작업을 수행하려면 어떻게 해야 합니까? (How can I perform an asynchronous operation before grunt.initConfig()?)

grunt 및 qunit을 사용한 로깅 (Logging with grunt and qunit)

Intellij IDEA 13 - 최신 JS 파일을 사용한 아티팩트 빌드 프로세스(grunt 빌드를 통해) (Intellij IDEA 13 - Artifact build process with latest JS files (Via grunt build))

IntelliJ IDEA에서 Grunt 작업에 대한 사용자 지정 config.json 위치 설정 (Setup custom config.json location for Grunt tasks in IntelliJ IDEA)

Grunt 및 Compass와 함께 node-normalize-scss 사용 (Using node-normalize-scss with Grunt and Compass)

npm grunt-libsass 설치 오류 (Error installing npm grunt-libsass)

루트 폴더에 없는 Gruntfile.js가 있는 Visual Studio 작업 실행기 탐색기 (Visual Studio Task Runner Explorer with Gruntfile.js that is not in the root folder)

하위 디렉토리의 Angular2.0, SystemJS는 각도 구성 요소를 가져올 수 없습니다. (Angular2.0 in subdirectory, SystemJS cant import angular components)

html5 모드를 사용하여 Angular 다시 로드 (Reload Angular using html5 mode)

그런트 작업 옵션을 이해하는 방법 (How to understand Grunt task options)

오류: 프로젝트의 기본 XML 네임스페이스는 MSBuild XML 네임스페이스여야 합니다. (Error: The default XML namespace of the project must be the MSBuild XML namespace)







코멘트