Tôi hỏi điều này bởi vì một vài lần bây giờ, tôi đã cố gắng chơi xung quanh với lệnh $locationProvider.html5Mode(true)
cùng với <base href="/">
và gặp rất nhiều lỗi khi gọi tập lệnh/kiểu/hình ảnh cho dự án của tôi. Tôi đoán có phải là một cái gì đó tôi đang làm sai, nhưng có một cấu trúc thư mục nhất định bạn nên làm theo để bạn không chạy vào các lỗi này? Hay có cách nào cụ thể mà các công việc base href
hoạt động mà tôi không hoàn toàn hiểu?
Gần đây, tôi nghĩ tôi sẽ thử trên một ứng dụng rất nhỏ. Đó là hiệu quả một trang web tĩnh, nhưng tôi muốn tận dụng lợi thế của định tuyến của Angular để đảm bảo tất cả các trang có thể tải ngay lập tức. Vì vậy, cấu trúc của tôi sẽ là một cái gì đó như thế này:
my-project
css
images
js
angular
app.js
app.routes.js
mainCtrl.js
views
home.html
about.html
contact.html
index.html
Vì vậy, tôi biết rằng cấu trúc thư mục này là không lớn, nhưng tôi sẽ chỉ sử dụng góc trong dự án này cho việc định tuyến, không có gì hơn, do đó nó phù hợp với nhu cầu của tôi .
tôi đặt vào đầu <base href="/">
, đưa vào cơ thể ng-app
và ng-controller
, và bên trong cơ thể đặt một <div ng-view>
đâu đó quá.
Tôi đã thêm trong số $locationProvider.html5Mode(true)
và dùng thử ứng dụng. Tất cả các tập lệnh của tôi sau đó được tải là http://localhost:8888/script.js
không chính xác. Dự án nằm trong một thư mục để index.html
nằm ở http://localhost:8888/my-project/index.html
. Vì vậy, cần tải các tập lệnh từ http://localhost:8888/my-project/js/angular/app.js
chẳng hạn.
Có điều gì đó mà tôi không hiểu về base href
không? Cuối cùng tôi có thể lưu trữ ứng dụng này một nơi nào đó trực tuyến, vì vậy tôi muốn các URL để tập lệnh vv cho tất cả có liên quan đến tập tin thực sự. Ai có ý tưởng gì không?
Được rồi, vì vậy trên thẻ base href
tôi sẽ có phong cách CSS của tôi mà sẽ được liên kết như css/style.css
và ở dưới cùng của body
thẻ của tôi, tôi sẽ có kịch bản của tôi nạp như js/init.js
hoặc js/angular/app.js
ví dụ. Điều này sẽ cố gắng tải nó như thể thư mục js
được đặt trực tiếp tại localhost:8888/js
.
Có vẻ như bạn cần ' ' –
Phil
'base href' không chỉ là một cuộc gọi góc mà còn cho tất cả các liên kết tương đối của bạn bắt đầu từ đâu. Trường hợp các tập tin js của bạn được tải từ không nên có bất cứ điều gì để làm với định tuyến góc của bạn mặc dù. Làm thế nào bạn tải chúng và bạn đang đặt cơ sở href ở đâu? – Jan
Bạn có thể hiển thị ví dụ về tệp 'index.html' của mình, cụ thể là các thẻ'