Tôi đã có ứng dụng Angular2 'xin chào thế giới' rất đơn giản. Tôi cũng đưa ra quyết định rõ ràng không hợp lý để làm việc với các cấu trúc thư mục khác nhau giữa dự án dev của tôi và thư mục triển khai cuối cùng trên backend mùa xuân của tôi.Nhập khẩu Angular2 & TypeScript của node_modules
Vì sự khác biệt này, tôi gặp sự cố với nhập TypeScript và dòng này đã tạo lỗi 404 (không thể tìm thấy thư viện/angular2/core) khi tôi cố gắng mở ứng dụng thực tế trong trình duyệt của mình:
import {Component, View} from 'angular2/core';
câu chuyện vì vậy, dài ngắn, tôi đã kết thúc cộng lại thư mục/app để làm cho công việc tất cả mọi thứ, nhưng tôi đã kết thúc sửa đổi tuyên bố nhập của tôi như sau:
import {Component, View} from '../node_modules/angular2/core';
này, tuy nhiên, hóa ra nguyên nhân một số hành vi kỳ lạ. Đối với một số lý do xác định ../node_modules
trong các đường dẫn thư viện đang gây ra JS để thực sự tải file ALL Angular2 từ đầu sử dụng ajax gọi để lấy mỗi tập tin cá nhân từ thư mục npm_modules/angular2/
mặc dù đây là một phần của tiêu đề HTML của tôi:
<script src="/node_modules/angular2/bundles/angular2.dev.js"></script>
Khi tôi cuối cùng đã nhận ra những gì đang xảy ra tôi hoàn nguyên câu lệnh import trở lại
import {Component, View} from 'angular2/core';
và tất cả làm việc. Angular2 bây giờ đã được tải hoàn toàn từ thẻ script ở trên và không có tệp nào được tải bằng các cuộc gọi ajax bổ sung.
Ai đó có thể giải thích nguyên nhân gây ra điều này không? Tôi cho rằng đó là hành vi bình thường nhưng tôi không hiểu cách thức hoạt động của quá trình nhập và lý do tại sao chỉ định đường dẫn chi tiết hơn tạo ra sự khác biệt như vậy.
Để biết thêm chi tiết về cách nhập mô-đun trong thế giới TS: https://www.typescriptlang.org/docs/handbook/module-resolution.html Tài liệu được thực hiện tốt cho việc này. Có thật không. – rashadb