Không thể khởi tạo mô-đun [$ kim phun: không] Nhà cung cấp không xác định: $ routeProvider


Câu trả lời:


404

Mô-đun ngRoute không còn là một phần của angular.jstệp cốt lõi . Nếu bạn đang tiếp tục sử dụng $ routeProvider thì bây giờ bạn sẽ cần đưa angular-route.jsvào HTML của mình:

<script src="angular.js">
<script src="angular-route.js">

Tham chiếu API

Bạn cũng phải thêm ngRoutenhư một phụ thuộc cho ứng dụng của bạn:

var app = angular.module('MyApp', ['ngRoute', ...]);

Nếu thay vào đó, bạn đang có kế hoạch sử dụng angular-ui-routerhoặc tương tự thì chỉ cần loại bỏ sự $routeProvider phụ thuộc khỏi mô-đun của bạn .config()và thay thế nó bằng nhà cung cấp lựa chọn có liên quan (ví dụ $stateProvider). Sau đó, bạn sẽ sử dụng ui.routerphụ thuộc:

var app = angular.module('MyApp', ['ui.router', ...]);

2
Có vẻ như ui-routerdự án có thể là một sự thay thế linh hoạt hơn, nếu bạn bắt đầu từ đầu ( github.com/angular-ui/ui-router )
gatoatigrado

2
@gatoatigrado - Tôi mới nhận ra ui.statecú pháp bao nhiêu tuổi khi tôi nâng cấp ứng dụng của mình từ angular-ui-router v0.0.1 lên v0.2.0 , có nghĩa là bây giờ nó sử dụng ui.routertên. Tôi xin lỗi cho bất kỳ sự nhầm lẫn gây ra.
Scotty.NET

3
Địa chỉ CDN ở angular-route.jsđâu?
Sahar Sany

@SaharSany - Tài liệuangular-route cung cấp địa chỉ CDN cũng như các tùy chọn khác. Đối với ui-routerhiện nay không có CDN mà tôi biết.
Scotty.NET

3
ui-routerdường như không có trên CDN của riêng nó, mặc dù đó là trên cdnjs: cdnjs.com/lologists/angular-ui-router
Nick McCurdy

41

thêm vào câu trả lời của scotty:

Tùy chọn 1: Hoặc bao gồm điều này trong tệp JS của bạn:

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0rc1/angular-route.min.js"></script>

Tùy chọn 2: hoặc chỉ sử dụng URL để tải xuống ' angular-route.min.js ' về địa phương của bạn.

và sau đó (bất kỳ tùy chọn nào bạn chọn) thêm 'ngRoute' này làm phụ thuộc.

giải thích: var app = angular.module('myapp', ['ngRoute']);

Chúc mừng !!!


5
Xin lỗi nhưng tôi phải thừa nhận rằng điều này có vẻ rất giống với câu trả lời đã được cung cấp ??
Scotty.NET

2
... Ở những nơi khác tôi thấy rằng mọi người không thể tìm thấy liên kết / URL để tải xuống hoặc giới thiệu 'angular-route.min.js'. Đó là những gì tôi đã đưa ra trong Trả lời và Có Tôi đồng ý với 'ngRoute' Sự phụ thuộc mà bạn đã nói, vì vậy tôi cũng đã thêm vào câu trả lời của tôi.
mayankcpdixit

Tôi mệt mỏi hơn thư viện js. Chắc chắn phải có một cách tốt hơn là tìm ra mô-đun ngăn xếp thích hợp theo mô-đun.

Đây là cách nó được thực hiện @SamanthaAtkins, Nếu bạn biết những gì cần thiết, bạn sẽ thêm phần phụ thuộc và bao gồm tệp JS nếu bạn không có mã cho Phụ thuộc đó. Mặc dù tôi đánh giá cao một cách tốt hơn nếu ai đó gợi ý.
mayankcpdixit

3

Trong trường hợp của tôi, đó là do tập tin bị thu nhỏ với phạm vi sai. Sử dụng Mảng!

app.controller('StoreController', ['$http', function($http) {
    ...
}]);

Cú pháp cà phê:

app.controller 'StoreController', Array '$http', ($http) ->
  ...
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.