2016-09-18 15 views
5

Tôi đã sau intruduction hướng dẫn về Webpack cho góc 2: https://angular.io/docs/ts/latest/guide/webpack.htmlangular2-template-loader không inline thành phần mẫu

Sau khi hoàn thành tất cả các bước Tôi nhận được một lỗi 404 khi cố gắng tải các mẫu của ứng dụng thành phần.

Hướng dẫn nêu rõ rằng app.component.html và app.component.css phải được bundeled trên bay bằng angular2-template-loader, nhưng không phải vì trình duyệt đang cố gắng yêu cầu chúng thông qua XHR.

Mã của app.compnent.ts từ hướng dẫn:

import { Component } from '@angular/core'; 
import '../../public/css/styles.css'; 
@Component({ 
    selector: 'my-app', 
    templateUrl: 'app.component.html', 
    styleUrls: ['./app.component.css'] 
}) 
export class AppComponent { } 

enter image description here

Nó hoạt động nếu tôi chỉ định mẫu đường dẫn tương đối đến đường cơ sở, nhưng đó không phải là cách tiếp cận đúng.

import { Component } from '@angular/core'; 
import '../../public/css/styles.css'; 
@Component({ 
    selector: 'my-app', 
    templateUrl: './src/app/app.component.html', 
    styleUrls: ['./src/app/app.component.css'] 
}) 
export class AppComponent { } 

Có ai có ý tưởng tại sao điều này xảy ra và có ai có thể hoàn thành hướng dẫn giải pháp làm việc không?

+0

Xem thêm http://stackoverflow.com/questions/39503805/zone-js344-unhandled-promise-rejection-failed-to-load-app-template-html-in-ang/39504168#39504168 – yurzui

+0

Cảm ơn, tôi đã thử thêm moduleId: module.id và nó không hoạt động, mẫu vẫn không được tìm thấy, tôi cũng cần gọi module.id.toString() để tránh lỗi với phương thức tách là không xác định. Nhưng vấn đề lớn nhất của tôi với điều này là nó không được đề cập trong hướng dẫn, và nó cũng bổ sung thêm sự phức tạp và mã. –

+0

Tôi đã nhận được lỗi tương tự này. Đối với tôi, vấn đề là IDE của tôi đã tự động chuyển đổi bản đánh số của tôi thành các tệp JS và điều đó gây trở ngại cho việc xây dựng webpack của tôi. Tôi đã xóa các tệp JS và nó hoạt động tốt. – Irving

Trả lời

9

Đảm bảo rằng webpack thực hiện quá trình biên dịch bản ghi. Tôi đã gặp vấn đề tương tự, và vấn đề là Visual Studio đã biên dịch các tệp ts của tôi khi lưu và vì WebPack được định cấu hình để giải quyết tệp .js và tệp .ts, trình tải đã cố gắng áp dụng các tệp js đã được biên dịch thay thế của tệp ts nguồn.

Vì vậy, để tóm tắt:

  1. Hãy chắc chắn rằng bạn không có file ts của bạn đã biên soạn trong thư mục của bạn.
  2. Cài đặt loại bản ghi trong các nút node_modules cục bộ của dự án của bạn.
  3. Định cấu hình webpack như sau hướng dẫn góc.
  4. Chạy webpack từ dòng lệnh trong thư mục chứa tệp webpack.config.js . Điều này đảm bảo rằng webpack IS THE ONE thực hiện việc biên dịch bản ghi và do đó các tệp ts nhập vào đường dẫn .

Nó sẽ làm việc cho bạn ngay bây giờ.

+1

Đó là nó - WebStorm đã làm việc chuyển đổi .ts cho tôi để nó can thiệp vào việc xây dựng WebPack. Cảm ơn! –

+0

Điều đó khiến tôi quá. Tôi đã mở dự án của tôi trong VS2015 một vài ngày trước và các tập tin .js nó được biên dịch đã được nạp thay vì biên dịch .ts tươi. Cảm ơn các giải pháp. –

+0

Lifesaver, tôi lãng phí rất nhiều thời gian vào cái này – rashleighp

Các vấn đề liên quan